Python的函數式
盡管Python并不是以函數式為主的語言,但對它來說支持函數式編程也相對比較容易,因為Python中的一切都是對象。這意味著函數定義也可以賦給變量并傳遞。
defadd(a,b):
returna+b
plus=add
plus(3,4)#returns7
Lambda
通過Lambda表達式的語法,可以用聲明式的方式創建函數。關鍵字lambda來自希臘字母,經常在正式的數學邏輯中用來描述函數和變量的虛擬綁定,即“lambda演算”,它的歷史比函數式編程還要久遠。這一概念的另一個術語叫做“匿名函數”,因為lambda函數可以直接嵌入到行內使用,不需要事先指定名稱。將匿名函數賦值給變量后,它的行為與正常函數完全一樣。
(lambdaa,b:a+b)(3,4)#returns7
addition=lambdaa,b:a+b
addition(3,4)#returns7
lambda函數最常見的用法就是提供給那些接受可調用對象作為參數的函數。“可調用對象”是任何能夠通過括號調用的東西,具體來說有類、函數和方法。其中最常見的用法就是在對數據結構進行排序時,通過參數的鍵指定排序的相對順序。
authors=['OctaviaButler','IsaacAsimov','NealStephenson','MargaretAtwood','UsulaKLeGuin','RayBradbury']
sorted(authors,key=len)#Returnslistorderedbylengthofauthorname
sorted(authors,key=lambdaname:name.split()[-1])#Returnslistorderedalphabeticallybylastname.
行內嵌入式lambda函數的缺點在于它不會在棧跟蹤中顯示名稱,可能會給調試帶來麻煩。
以上內容為大家介紹了Python的函數式,希望對大家有所幫助,如果想要了解更多Python相關知識,請關注IT培訓機構:千鋒教育。http://www.mobiletrain.org/

猜你喜歡LIKE
相關推薦HOT
更多>>
python中的filter函數功能是什么?
python中的filter函數功能是什么?在python中,面對眾多的數據,我們要過濾篩選出我們需要的數據。python中的filter函數就是起到了過濾篩選的作...詳情>>
2023-11-10 20:37:27
pythontime模塊是什么
pythontime模塊是什么在python中使用時間,就免不了和time模塊打交道,另外兩個模塊這個暫時先不做介紹。做time模塊的使用上,我們可以用它來對...詳情>>
2023-11-10 15:53:16
python是什么編程語言
python是什么編程語言1、說明是一種面向對象、解釋型計算機程序設計語言,由GuidovanRossum于1989年底發明,第一個公開發行版發行于1991年。Pyt...詳情>>
2023-11-10 15:21:05
python異常處理的兩種技巧
python異常處理的兩種技巧1、傳遞異常有時我們會在捕捉到一個異常后重新引發它(傳遞異常),實現起來很簡單,使用不帶參數的raise語句即可。deff...詳情>>
2023-11-10 14:49:39熱門推薦
python中的filter函數功能是什么?
沸python delattr函數如何使用?
熱python中pdb模塊怎么用?
熱Python如何截圖保存?
新python?中缺少module怎么辦?
python strftime和strptime的不同分析
python time.strptime的格式化
python中@contextmanager是什么?
python對象的三要素是什么
pythonGIL在Python多線程的應用
python如何對多個CSV文件進行讀取
pythonif嵌套命令如何理解?
python對列表進行永久性或臨時排序的方法
python生成器調用方法引發異常
技術干貨






