1. 程式人生 > >python 中的匿名函數lamda和functools模塊

python 中的匿名函數lamda和functools模塊

too 對象 call src 返回值 art 生成 簡單 callable

為什麽 要把匿名函數和functools模塊寫在一起?

因為 lamda函數和functools模塊都是對函數一種增強或者是簡化。

匿名函數:

為了解決那些功能很簡單的需求而設計一次性的需求函數

#"有名函數"
def calc(n):
    return n**n
print(calc(10))
 
#換成匿名函數
calc = lambda n:n**n
print(calc(10))

技術分享圖片

函數名 = lambda 參數 :返回值

#參數可以有多個,用逗號隔開
#匿名函數不管邏輯多復雜,只能寫一行,且邏輯執行結束後的內容就是返回值
#返回值和正常的函數一樣可以是任意數據類型

functools模塊

偏函數partial
partial函數可以重新綁定函數的可選參數,生成一個callable的partial對象,這也認為是一個新函數(部分參數被固定的新函數),有點像scala中的克裏化。

python 中的匿名函數lamda和functools模塊