匿名函數(shù)
- 概念
python 中有種特殊的函數(shù)绪穆,不需要使用def去定義遮怜,不用設(shè)備函數(shù)名玻驻,通過lamda表達(dá)式來定義凭迹,這種函數(shù)叫做匿名函數(shù)
-匿名函數(shù)格式
lambda 參數(shù):表達(dá)式(返回值)
- 普通函數(shù):
def fun1(n):
'''
普通函數(shù)的寫法
'''
return n * 2
- 匿名函數(shù)
(lambda n: n * 2)(4) # 匿名函數(shù)的定義后可以直接調(diào)用
res = (lambda n: n * 2)(4) # 匿名函數(shù)可以在函數(shù)定義后用變量接受保存,單是一般不這樣做
h = filter((lambda x: x <= 5), [1, 22, 3, 4, 5, 6, 11, 44]) # 計(jì)算列表數(shù)據(jù)小于5
print(list(h))
偏函數(shù)
- 概念
在python 的內(nèi)置模塊functools 中提供了一個(gè)偏函數(shù)
-作用:
當(dāng)一個(gè)函數(shù)的參數(shù)過多時(shí)晦炊,需要簡化鞠鲜,使用functools.partial可以創(chuàng)建一個(gè)新的函數(shù)宁脊,這個(gè)新的函數(shù)可以固定住原來函數(shù)的部分參數(shù),而使得調(diào)用更加簡單
-舉例:
from functools import partial
def func11(a,b,c):
print(a)
print(b)
print(c)
func11(11,22,333)
func11_cp = partial(func11,a=11,c=22)
print(func11_cp(b=33))