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