Python lambda和Python def區(qū)別分析
Python支持一種有趣的語法,它允許你快速定義單行的最小函數(shù)。這些叫做lambda的函數(shù),是從Lisp借用來的,可以用在任何需要函數(shù)的地方。
lambda的語法時常會使人感到困惑,lambda是什么,為什么要使用lambda,是不是必須使用lambda?
>>> def f(x): ... return x+2 ... >>> f(1) 3 >>> f = lambda x:x+2 >>> f(1) 3 >>> (lambda x:x+2)(1) 3
Python def和Python lambda它們有相似點(diǎn)也有不同點(diǎn)。
相似點(diǎn): 這兩個很重要的相似點(diǎn)就是都可以定義一些固定的方法或者是流程,供給程序來調(diào)用,比如上面例子中定義一個變量加2的方法。 輸出的結(jié)果都是3,如果你要完成一些固定的流程的話,上面幾種你都可以任意選擇。
上面是相同點(diǎn),那么有那些不同點(diǎn)?
它們的主要不同點(diǎn)是Python def是語句而Python lambda是表達(dá)式。lambda簡化了函數(shù)定義的書寫形式,使代碼更為簡潔。但是使用函數(shù)的定義方式更為直觀,易理解。
Python里面語句是可以嵌套的,比如你需要根據(jù)某個條件來定義方法,那只能用def。用lambda就會報錯。
>>> if a==1: ... def info(): ... print '1'*5 ... else: ... def info2(): ... print 'info2'
而有的時候你需要在python表達(dá)式里操作的時候,那需要用到表達(dá)式嵌套,這個時候Python def就不能得到你想要的結(jié)果,那只能用Python lambda,如下例子:
輸出e字符串出現(xiàn)頻率最高的字母:
>>> str='www.linuxeye.com linuxeye.com'
>>> L = ([(i,str.count(i)) for i in set(str)])
[(' ', 1), ('c', 2), ('e', 4), ('i', 2), ('m', 2), ('l', 2), ('o', 2), ('n', 2), ('u', 2), ('w', 3), ('y', 2), ('x', 2), ('.', 3)]
>>> L.sort(key = lambda k:k[1],reverse = True)
>>> print L[0][0]
e
- python中defaultdict的用法詳解
- 簡介Python的collections模塊中defaultdict類型的用法
- Python標(biāo)準(zhǔn)庫defaultdict模塊使用示例
- Python中的defaultdict模塊和namedtuple模塊的簡單入門指南
- Python使用defaultdict讀取文件各列的方法
- Python中的defaultdict與__missing__()使用介紹
- 深入解析Python中的lambda表達(dá)式的用法
- python基礎(chǔ)教程之lambda表達(dá)式使用方法
- python中的lambda表達(dá)式用法詳解
- 簡單介紹Python中的filter和lambda函數(shù)的使用
- Python中 Lambda表達(dá)式全面解析
- Python中defaultdict與lambda表達(dá)式用法實例小結(jié)
相關(guān)文章
Python?Flask實現(xiàn)快速構(gòu)建Web應(yīng)用的方法詳解
Flask是一個輕量級的Web服務(wù)器網(wǎng)關(guān)接口(WSGI)web應(yīng)用框架,本文將和大家一起詳細(xì)探討一下Python?Flask?Web服務(wù),需要的小伙伴可以學(xué)習(xí)一下2023-06-06
關(guān)于python爬蟲應(yīng)用urllib庫作用分析
這篇文章主要介紹了關(guān)于python爬蟲應(yīng)用urllib庫作用分析,想要進(jìn)行python爬蟲首先我們需要先將網(wǎng)頁上面的信息給獲取下來,這就是utllib庫的作用,有需要的朋友可以借鑒參考下2021-09-09
Flask框架學(xué)習(xí)筆記之路由和反向路由詳解【圖文與實例】
這篇文章主要介紹了Flask框架學(xué)習(xí)筆記之路由和反向路由,結(jié)合圖文與實例形式詳細(xì)分析了flask框架中路由與反向路由相關(guān)概念、原理、用法與相關(guān)操作注意事項,需要的朋友可以參考下2019-08-08
Python如何獲取HTTP請求的Response Body
這篇文章主要介紹了在Python中如何獲取HTTP請求的響應(yīng)體,包括使用內(nèi)置的urllib庫、第三方庫requests以及一些高級用法,有需要的小伙伴可以了解下2024-11-11
python timestamp和datetime之間轉(zhuǎn)換詳解
這篇文章主要為大家詳細(xì)介紹了python timestamp和datetime之間轉(zhuǎn)換,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-12-12

