云計算開發(fā)學(xué)習(xí)筆記:Python3匿名函數(shù)
python 使用 lambda 來創(chuàng)建匿名函數(shù)。
所謂匿名,意即不再使用 def 語句這樣標(biāo)準(zhǔn)的形式定義一個函數(shù)。
lambda 只是一個表達(dá)式,函數(shù)體比 def 簡單很多。
lambda的主體是一個表達(dá)式,而不是一個代碼塊。僅僅能在lambda表達(dá)式中封裝有限的邏輯進(jìn)去。
lambda 函數(shù)擁有自己的命名空間,且不能訪問自己參數(shù)列表之外或全局命名空間里的參數(shù)。
雖然lambda函數(shù)看起來只能寫一行,卻不等同于C或C++的內(nèi)聯(lián)函數(shù),后者的目的是調(diào)用小函數(shù)時不占用棧內(nèi)存從而增加運(yùn)行效率。
語法
lambda 函數(shù)的語法只包含一個語句,如下:
如下實(shí)例:
以上實(shí)例輸出結(jié)果:
return語句
return [表達(dá)式] 語句用于退出函數(shù),選擇性地向調(diào)用方返回一個表達(dá)式。不帶參數(shù)值的return語句返回None。之前的例子都沒有示范如何返回數(shù)值,以下實(shí)例演示了 return 語句的用法:
以上實(shí)例輸出結(jié)果:
強(qiáng)制位置參數(shù)
Python3.8 新增了一個函數(shù)形參語法 / 用來指明函數(shù)形參必須使用指定位置參數(shù),不能使用關(guān)鍵字參數(shù)的形式。
在以下的例子中,形參 a 和 b 必須使用指定位置參數(shù),c 或 d 可以是位置形參或關(guān)鍵字形參,而 e 或 f 要求為關(guān)鍵字形參:
以下使用方法是正確的:
以下使用方法會發(fā)生錯誤: