python匿名函數的使用
匿名函數(英語:anonymous function)是指一類無需定義標識符(函數名)的函數。通俗來說呢,就是它可以讓我們的函數,可以不需要函數名。
正常情況下,我們定義一個函數,使用的是 def
關鍵字,而當你學會使用匿名函數后,替代 def
的是 lambda
。
這邊使用def
和 lambda
分別舉個例子,你很快就能理解。
def mySum(x, y):
return x+y
mySum(2, 3)
# 5
(lambda x, y: x+y)(2, 4)
# 6
從上面的示例,我們可以看到匿名函數直接運行,省下了很多行的代碼,有沒有?
接下來,我們的仔細看一下它的用法
帶 if/else
>>>( lambda x, y: x if x < y else y )( 1, 2 )
1
嵌套函數
>>>( lambda x: ( lambda y: ( lambda z: x + y + z )( 1 ) )( 2 ) )( 3 )
6
遞歸函數
>>> func = lambda n:1 if n == 0 else n * func(n-1)
>>> func(5)
120
或者
>>> f = lambda func, n: 1 if n == 0 else n * func( func, n - 1 )
>>> f(f,4)
24
從以上示例來看,lambda 表達式和常規的函數相比,寫法比較怪異,可讀性相對較差。除了可以直接運行之外,好像并沒有其他較為突出的功能,為什么在今天我們要介紹它呢?
首先我們要知道 lambda 是一個表達式,而不是一個語句。正因為這個特點,我們可以在一些特殊的場景中去使用它。
審核編輯:符乾江
-
函數
+關注
關注
3文章
4381瀏覽量
64997 -
python
+關注
關注
56文章
4828瀏覽量
86970
發布評論請先 登錄
解鎖LuatOS新世界:二次開發必備的3個核心常識

零基礎入門:如何在樹莓派上編寫和運行Python程序?

使用Python實現xgboost教程
SUMIF函數與SUMIFS函數的區別
Python常用函數大全
從匿名瀏覽到數據安全:代理IP用戶心聲全記錄
【每天學點AI】一個例子帶你了解Python裝飾器到底在干嘛!

動態代理IP的匿名性和透明度,為主要考慮關鍵!

使用Python進行Ping測試

評論