python 函式的高階內容

2021-09-26 15:30:07 字數 1123 閱讀 7434

python的函式也是一種值,所有函式都是function 物件,這意味著可以把函式本身賦值給變數,就像把整數、浮點數、列表、元組賦值給變數一樣

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

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)) # 輸出 81

有時候需要定義乙個函式,該函式的大部分計算邏輯都能確定,但某些處理邏輯暫時無法確定,這意味著某些程式**需要動態改變,如果希望呼叫函式時能動態傳入這些**,那麼就需要在函式中定義形參,這樣即可在呼叫函式時傳入不同的函式作為引數,從而動態改變這些**

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

def map(data, fn):

result =

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

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

for e in data:

return result

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

def square(n):

return n * n

data = [1, 2, 3, 4, 5]

print(map(data, square))

# 輸出結果 [1, 4, 9, 16, 25]

3:使用函式作為返回值:

python 支援使用函式作為函式的返回值

def get_math_func(way):

def square(n):

return n * n

if way == 'square':

return square

result = get_math_func('square')

print(result(5)) # 輸出的值是25

python之路 函式高階內容

1 函式巢狀的呼叫 定義函式 defmax2 x,y m x if x y else y 三元運算 結果 if條件成立的結果 if 條件 else if條件不成立的結果 returnm 函式巢狀 defmax4 a,b,c,d res1 max2 a,b res2 max2 res1,c res3 ...

python 函式高階 python 函式高階

形參角度 萬能引數 動態接收位置引數 args 動態接收關鍵字引數 kwargs 的魔性用法 函式定義時 代表聚合。他將所有的位置引數 聚合成乙個元組,賦值給了args 函式定義時 將所有的關鍵字引數聚合成乙個字典中,將這個字典賦給了 kwargs 和 在函式的呼叫時 代表打散 僅限關鍵字引數 de...

Python高階 函式高階

閉包 closure 常規函式中可以在函式的引數中新增引數的預設值來簡化函式的操作,偏函式也可以做到這一點,而且會更加的方便管理函式的操作。通過內建模組functools的partial進行定義和處理 語法結構 新函式名稱 functools.partial 函式名稱,預設賦值引數 例如 全域性函式...