【Python】高级函数lambda函数
來(lái)說(shuō)說(shuō)python的lambda函數(shù)吧
?
lambda是python中用來(lái)構(gòu)建匿名函數(shù)的關(guān)鍵字,啥叫匿名函數(shù)捏,所謂匿名函數(shù)就是當(dāng)你需要使用一個(gè)函數(shù)完成操作,但懶得給這個(gè)函數(shù)起名字,恰巧這個(gè)函數(shù)也不是那么常用,估計(jì)以后也不怎么會(huì)用到,就用這么一次,那么lambda函數(shù)就可以閃亮登場(chǎng)了
?
先看一個(gè)栗子,實(shí)現(xiàn)兩個(gè)數(shù)字相加
__author__ = 'MrChen'#函數(shù)定義形式 def myAdd(x , y):'兩個(gè)數(shù)字相加'return x+y print(myAdd(2 , 3.4))#lambda使用形式-1 myfunc = lambda x , y : x + y print(myfunc(2 , 3.4))#都說(shuō)了不想起名字了!!!為毛上面還要我定義一個(gè)臨時(shí)變量 #好,下面解放那些一提到起函數(shù)名就頭疼的人 #lambda使用形式-2 print( (lambda x,y:x+y)(2 , 3.4) )好嘞,雖然最后一個(gè)函數(shù)的可讀性不咋地,但卻實(shí)實(shí)在在的體現(xiàn)出了lambda函數(shù)的價(jià)值,
1,? lambda函數(shù)可以免去定義函數(shù)的繁瑣,使代碼更加精簡(jiǎn)
2,? 不用費(fèi)盡心機(jī)絞盡腦汁的想函數(shù)名(如果這個(gè)函數(shù)比較常用,那么還是需要定義函數(shù)的)
3,? 使用lambda函數(shù)有時(shí)候使代碼更容易理解
?
下面看看lambda函數(shù)到底怎么用吧
在lambda函數(shù)中,lambda后面,冒號(hào)前面的部分是函數(shù)的參數(shù),可以有多個(gè),用逗號(hào)隔開;冒號(hào)后面是返回值(貌似lambda不支持多行操作,冒號(hào)后面直接就是返回值,是個(gè)單行操作,如果函數(shù)需要多行的話,還是用def吧,個(gè)人理解,勿噴)
?
例如:
lambda x : x**2
x是參數(shù),x**2是返回值,表示實(shí)現(xiàn)了一個(gè)數(shù)字的平方
?
如果需要直接計(jì)算某個(gè)值的結(jié)果,可以這樣搞:
(lambda x : x**2)(3)
第一個(gè)括號(hào)里面是lambda函數(shù)體,第二個(gè)括號(hào)就是lambda函數(shù)的參數(shù)了,注意此時(shí)的lambda函數(shù)和參數(shù)一定都要用括號(hào)括起來(lái)哦
總結(jié)
以上是生活随笔為你收集整理的【Python】高级函数lambda函数的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 【Python】对self和_init_
- 下一篇: 【Python】文件序列化——文件编码机