匿名函式
當我們在傳入函式時,有些時候,不需要顯式地定義函式,直接傳入匿名函式更方便。
在python中,對匿名函式提供了有限支援。還是以map()
函式為例,計算f(x)=x2時,除了定義乙個f(x)
的函式外,還可以直接傳入匿名函式:maop
list(map(lambda x:x*x,range(1,5)))[1, 4, 9, 16]
通過對比可以看出,匿名函式lambda x: x * x
實際上就是:
>>> deff(x):
return x*x
>>> f(5)
25
關鍵字lambda
表示匿名函式,冒號前面的x
表示函式引數。
匿名函式有個限制,就是只能有乙個表示式,不用寫return
,返回值就是該表示式的結果。
用匿名函式有個好處,因為函式沒有名字,不必擔心函式名衝突。此外,匿名函式也是乙個函式物件,也可以把匿名函式賦值給乙個變數,再利用變數來呼叫該函式:
>>> d = lambda x: x*x*x>>> d(3)
27
同樣,也可以把匿名函式作為返回值返回,比如:
>>> defnu(x,y):
deffx():
return
lambda:x*x+y*y
print(fx())
Python學習之路 day 19 常用模組3
1 re模組 python正規表示式 原始字串 原始字串形式是在普通字元傳文字量前加r或r字首,例如 r abcdefg r c course python progs 原始字串只有一點特殊,就是其中的反斜線字元 不作為轉義符,在相應的字串物件裡保留原樣.單位於單引號和雙引號前的反斜線符號仍作為轉義...
Python學習之路
python 十分鐘入門 python 菜鳥教程 pycharm安裝numpy python 檔案讀取 with open xml path,r as fr content fr.read python讀取檔案時提示 unicodedecodeerror gbk codec can t decode...
python學習之路
簡單理解下,yield可以先看作 return 直接返回某個值,返回之後程式就不再往下執行了。看做return之後再把它看做乙個是生成器 generator 的一部分 帶yield的函式才是真正的迭代器 def foo print starting.while true res yield 4pri...