匿名函數:python
匿名,即沒有名字;ide
沒有名字如何定義?函數
沒有名字如何調用?it
若是能調用,如何使用?class
Python藉助Lambda表達式構建匿名函數
匿名函數
格式:lambda
lambda 參數列表:表達式map
使用lambda關鍵字來定義匿名函數;di
參數列表不須要小括號;view
冒號是用來分割參數列表和表達式的;
不須要使用return,表達式的值,就是匿名函數返回值;
lambda表達式只能寫在一行上,被稱爲單行函數;
用途:在高階函數傳參時,使用lambda表達式,每每能簡化代碼;
print((lambda : 5)()) print((lambda x, y=3: x + y)(5)) print((lambda x, y=3: x + y)(5, 6)) print((lambda x, *, y=30: x + y)(5)) print((lambda x, *, y=30: x + y)(5, y=10)) print((lambda *args: (x for x in args))(*range(5))) print((lambda *args: [x+1 for x in args])(*range(5))) print((lambda *args: {x+2 for x in args})(*range(5))) [x for x in (lambda *args: map(lambda x: x+1, args))(*range(5))] # 高階函數,這裏map函數表示一一映射,給x [x for x in (lambda *args: map(lambda x: (x+1, args), args))(*range(5))]