日常學習記錄 01

2022-06-13 18:18:13 字數 2761 閱讀 6992

1、區域性函式的使用,可以用於測試自動化編寫公共方法,根據傳入的type,執行不同的函式體

# 定義乙個函式,包含區域性函式

def get_mach_func(type, nn):

# 定義區域性函式1:計算平方

def square(n):

return n * n

# 定義區域性函式2:計算立方

def cube(n):

return n * n * n

# 定義區域性函式3:計算階乘

def factorial(n):

num = 1

for index in range(2, n+1):

num *= index

return num

# 呼叫區域性函式

if type == 'square':

return square(n=nn)

elif type == 'cube':

return cube(n=nn)

else:

return factorial(n=nn)

# 使用函式

print(get_mach_func(type='square', nn=3))

print(get_mach_func(type='cube', nn=3))

print(get_mach_func(type='', nn=3))

2、使用函式變數,來呼叫函式,方便、高效----就是將函式賦值給變數

# 定義乙個計算乘方的函式

def pow(base, exponent):

result = 1

for i in range(1, exponent + 1):

result *= base

return result

# 將 pow 函式賦值給my_fun, 則my_fun 可被當成pow使用

my_fun = pow

print(my_fun(3, 4))

# 定義乙個計算面積的函式

def area(width, height):

return width * height

# 將 area函式賦值給my_fun, 則my_fun 可被當成area使用

my_fun = area

print(my_fun(3, 4))

3、使用函式作為函式形參--- 就是將函式作為乙個動態引數傳給另外乙個函式

# 定義函式型別的形參,其中fn是乙個函式

def map(data, fn):

result =

# 遍歷data列表中的每乙個元素,並用fn函式對每個元素進行計算

# 然後將計算結果作為新陣列的元素

for e in data:

return result

# 定義乙個計算平方的函式

def square(n):

return n * n

# 定義乙個計算立方的函式

def cube(n):

return n * n * n

# 定義乙個階乘的函式

def factorial(n):

result = 1

for index in range(2, n+1):

result *= index

return result

data = [3, 4, 6, 7, 10]

print('原始資料為:', data)

# 下面程式**呼叫map()函式三次,每次呼叫時傳入不同的函式

print('計算陣列元素的平方')

print(map(data, square))

print('計算陣列元素的立方')

print(map(data, cube))

print('計算陣列元素的階乘')

print(map(data, factorial))

4、使用函式作為返回值

def get_math_func(type):

# 定義區域性函式1:計算平方

def square(n):

return n * n

# 定義區域性函式2:計算立方

def cube(n):

return n * n * n

# 定義區域性函式3:計算階乘

def factorial(n):

result = 1

for index in range(2, n+1):

result *= index

return result

# 返回區域性函式

if type == 'square':

return square

elif type == 'cube':

return cube

else:

return factorial

# 呼叫 get_math_func(),程式返回乙個巢狀函式

math_func = get_math_func(type='cube') # 得到 cube函式

print(math_func(3))

math_func = get_math_func(type='square') # 得到 square函式

print(math_func(4))

math_func = get_math_func(type='other') # 得到 factorial函式

print(math_func(5))

日常記錄01

充當多年後的回憶吧。榮成 1 下班回來,拖著感冒的身體,本欲早睡晚起 滑稽臉 奈何心裡不踏實,今天沒有更博學,估計睡不好 瞎說 剛剛想著處理師兄c 問題來著,結果自己就是個半瓶水 亂逛當。丟人了 最近發現入職前三個月學的東西都要忘了,工作就是在機械的搬來搬去,心很慌,所以抓起書來看看,安慰下那浮躁又...

日常學習的記錄

1.table裡td強制不換行 table td 2.數字資訊加逗號 方法一 方法二 string 123456789 replace d d g,1,方法三 123456789 tolocalestring en us 3.利用邊框的背景設定背景,可自適應螢幕 border image 學習部落格...

學習記錄 日常19 4 13

最近沒做區間dp.沒騰出時間來,好難啊.藉口!嚶一下 今天下午打了組隊的第二場比賽。總體來講打得不錯,雖然還是只a了簽到題和水題,還沒涉及具體的演算法。和隊友的配合 被輔助和送輔助 更加默契了。繼續鍛鍊磨合,嗯。讀題仍然是問題 隊友帶我哈哈哈 已經準備比賽的時候帶字典了2333 我個人來說今天開始的...