Python高階函式 匿名函式

2021-08-18 13:25:24 字數 811 閱讀 1836

當我們在傳入函式時,有些時候,不需要顯示定義函式,直接傳入匿名函式更方便。

在python中,對匿名函式提供了有限支援。還是以map()函式為例,計算f(x)=x^2時,除了定義乙個f(x)的函式外,還可以直接傳入匿名函式:

>>> list(map(lambda x: x*x,[1,1,2,3,4,5,6,7,8,9,]))

[1, 1, 4, 9, 16, 25, 36, 49, 64, 81]

通過對比可以看出,匿名函式lambda x: x*x

>>> def f(x):

... return x*x

...

關鍵字lambda表示匿名函式,冒號前面的x表示函式引數。

匿名函式有個限制,就是只能有乙個表示式,不用寫return,返回值就是該表示式的結果。

用匿名函式有個好處,因為函式沒有名字,不必擔心函式名衝突。此外匿名函式也是乙個函式物件,也可以把匿名函式賦值給乙個變數,再利用變數來呼叫該函式:

>>> f = lambda x: x*x

>>> f

at 0x0000024ac3020268>

>>> f(3)

9

同樣,也可以把匿名函式作為返回值返回,比如:

>>> def build(x,y):

... return lambda: x*x + y*y

...>>> build(6,9)

.at 0x0000024ac3020510>

Python 函式高階 匿名函式

不需要使用def去定義,也不用給函式取名字,用lambda表示式來定義,這種函式叫做匿名函式 lambda 引數 表示式 作為返回值 將以下函式改為匿名函式 普通函式 def func var1 return var1 2 匿名函式寫法 lambda var1 var1 2 匿名函式定義後可以直接呼...

python高階函式和匿名函式

高階函式 允許將函式本身作為引數傳入另乙個函式 允許返回乙個函式。允許返回乙個函式。map 函式 map的第乙個引數為自定義函式,第二個引數為自定義可迭代物件 例子 定義乙個函式f2求平方,使用map函式,求list1的值的平方,list1平方規則按照f2函式執行,返回結果型別為list。list1...

python之內置函式 高階函式 匿名函式

高階函式 遞迴實際就是乙個高階函式 建立乙個list列表,判斷列表裡的偶數 lst 1 2,3 4,5 6,7 8,9 10 def fn l 建立乙個新列表將我在l列表裡獲取的偶數存在新的列表 new list 通過for迴圈判斷去除偶數 for n in l if n 2 0 將偶數新增到new...