亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Python lambda和Python def區(qū)別分析

 更新時(shí)間:2014年11月30日 21:58:18   投稿:mdxy-dxy  
Python支持一種有趣的語(yǔ)法,它允許你快速定義單行的最小函數(shù)。這些叫做lambda的函數(shù),是從Lisp借用來(lái)的,可以用在任何需要函數(shù)的地方

Python支持一種有趣的語(yǔ)法,它允許你快速定義單行的最小函數(shù)。這些叫做lambda的函數(shù),是從Lisp借用來(lái)的,可以用在任何需要函數(shù)的地方。

lambda的語(yǔ)法時(shí)常會(huì)使人感到困惑,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): 這兩個(gè)很重要的相似點(diǎn)就是都可以定義一些固定的方法或者是流程,供給程序來(lái)調(diào)用,比如上面例子中定義一個(gè)變量加2的方法。 輸出的結(jié)果都是3,如果你要完成一些固定的流程的話,上面幾種你都可以任意選擇。

上面是相同點(diǎn),那么有那些不同點(diǎn)?
它們的主要不同點(diǎn)是Python def是語(yǔ)句而Python lambda是表達(dá)式。lambda簡(jiǎn)化了函數(shù)定義的書寫形式,使代碼更為簡(jiǎn)潔。但是使用函數(shù)的定義方式更為直觀,易理解。

Python里面語(yǔ)句是可以嵌套的,比如你需要根據(jù)某個(gè)條件來(lái)定義方法,那只能用def。用lambda就會(huì)報(bào)錯(cuò)。

>>> if a==1:
...   def info():
...     print '1'*5
... else:
...   def info2():
...     print 'info2'

而有的時(shí)候你需要在python表達(dá)式里操作的時(shí)候,那需要用到表達(dá)式嵌套,這個(gè)時(shí)候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

相關(guān)文章

  • 超實(shí)用的 30 段 Python 案例

    超實(shí)用的 30 段 Python 案例

    Python是目前最流行的語(yǔ)言之一,它在數(shù)據(jù)科學(xué)、機(jī)器學(xué)習(xí)、web開(kāi)發(fā)、腳本編寫、自動(dòng)化方面被許多人廣泛使用。這篇文章主要介紹了超實(shí)用的 30 段 Python 案例,需要的朋友可以參考下
    2019-10-10
  • 《Python之禪》中對(duì)于Python編程過(guò)程中的一些建議

    《Python之禪》中對(duì)于Python編程過(guò)程中的一些建議

    這篇文章主要介紹了《Python之禪》中對(duì)于Python編程過(guò)程中的一些建議,需要的朋友可以參考下
    2015-04-04
  • python實(shí)現(xiàn)列表中由數(shù)值查到索引的方法

    python實(shí)現(xiàn)列表中由數(shù)值查到索引的方法

    今天小編就為大家分享一篇python實(shí)現(xiàn)列表中由數(shù)值查到索引的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-06-06
  • Pandas加速代碼之避免使用for循環(huán)

    Pandas加速代碼之避免使用for循環(huán)

    如果你使用Python和Pandas進(jìn)行數(shù)據(jù)分析,循環(huán)是不可避免要使用的。這篇文章主要給大家介紹了關(guān)于Pandas加速代碼之避免使用for循環(huán)的相關(guān)資料,需要的朋友可以參考下
    2021-05-05
  • 最新評(píng)論