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 我個人來說今天開始的...