1. lambda函數
lambda函數又稱匿名函數,lambda的主體是一個表達式而不是代碼塊,因此僅僅能在lambda表達式中封裝有限的邏輯進去。
lambda函數擁有自己的命名空間,且不能訪問自有參數列表之外或全局命名空間里的參數。
函數定義如下:
lambda<param1, param2, ...,paramN> : <expression>
可以把lambda函數賦值給一個變量,這種情況下變量看起來就像是標准的Python函數名。
straight_line = lambda m, x, c: m * x + c straight_line(2, 4, 3) print(straight_line(2, 4, 3))
也可以進行帶有分支的結構
def getsex(sex): if sex == '男': return 'man' else: return 'woman' sex = getsex('男') print(sex)
用lambda函數來實現:
變量名 = lambda 參數,參數... :真值 if 條件表達式 else 假值
getsex = lambda sex: 'man' if sex == '男' else "woman" result = getsex('男') print(result)
