把函式作為引數傳入,這樣的函式成為高階函式,高階函式是函式式程式設計的體現。函式式程式設計就是指這種高度抽象的程式設計正規化
在python中,abs()函式可以完成對數字求絕對值。
round()函式可以完成對數字的四捨五入計算。
# 將兩個數字先進行處理,再求和
# 1 、寫法一
defaddnum
(a, b)
:return
abs(a)
+abs
(b)# 2 、寫法二
defsumnumb
(a, b, f)
:return f(a)
+ f(b)
print
(sumnumb(
-1.2
,2.2
,round))
print
(addnum(-2
,3))
map(func, lst),將傳入的函式變數func作用到lst列表變數的每個元素中,並將結果組成新的列表迭代器返回。
list1 =[1
,2,3
,4,5
]def
func1
(x):
return x**
2result =
map(func1, list1)
# 返回乙個迭代器
# for i in result:
# print(i)
print
(list
(result)
)
reduce(func, lst),其中必須func有兩個引數。每次func計算的結果繼續和序列的下乙個元素做累計計算
# 注意:reduce傳入的引數func必須有兩個引數。
deffunc2
(a, b)
:return a + b
result2 = functools.
reduce
(func2, list1)
print
(result2)
# 15
filter(func, lst)函式用於過濾序列,過濾掉不符合條件的元素,返回乙個filter物件。
def
func3
(x):
return x %2==
0result3 =
filter
(func3, list1)
print
(list
(result3)
)
python 函式高階 python 函式高階
形參角度 萬能引數 動態接收位置引數 args 動態接收關鍵字引數 kwargs 的魔性用法 函式定義時 代表聚合。他將所有的位置引數 聚合成乙個元組,賦值給了args 函式定義時 將所有的關鍵字引數聚合成乙個字典中,將這個字典賦給了 kwargs 和 在函式的呼叫時 代表打散 僅限關鍵字引數 de...
Python高階 函式高階
閉包 closure 常規函式中可以在函式的引數中新增引數的預設值來簡化函式的操作,偏函式也可以做到這一點,而且會更加的方便管理函式的操作。通過內建模組functools的partial進行定義和處理 語法結構 新函式名稱 functools.partial 函式名稱,預設賦值引數 例如 全域性函式...
python 函式 高階函式
filter 函式是 python 內建的另乙個有用的高階函式,filter 函式接收乙個函式 f 和乙個list,這個函式 f 的作用是對每個元素進行判斷,返回 true或 false,filter 根據判斷結果自動過濾掉不符合條件的元素,返回由符合條件元素組成的新list。例如判斷奇偶數 def...