Python中的匿名函數-lambda

來源:互聯網
上載者:User
簡述

除了def語句之外,Python還提供了一種產生函數對象的運算式形式。這個運算式建立了一個之後能夠調用的函數,但是它返回了一個函數而不是將這個函數賦值給一個變數名稱。

lambda運算式

lambda的一般形式是關鍵字lambda,之後是一個或者多個參數,緊跟的是一個冒號,之後是一個運算式: lambda argument1 argument2 ... :expression using arguments

lambda是一個運算式,而不是一個語句。

作為一個運算式,lambda返回了一個值,可以選擇性地賦值給一個變數名。相反,def語句總是得在頭部將一個新的函數賦值給一個變數名,而不是將這個函數作為結果返回。

lambda主體是一個單一的運算式,而不是一個代碼塊。

預設參數也能夠在lambda參數中使用,就像在def中使用一樣。

>>>x = (lambda a = "www.", b = "pythontab", c = ".com": a + b +c)

>>>x("bbs")

'bbs.pythontab.com'

為什麼使用lambda

1. 使用Python寫一些執行指令碼時,使用lambda可以省去定義函數的過程,讓代碼更加精簡。

2. 對於一些抽象的,不會別的地方再複用的函數,有時候給函數起個名字也是個難題,使用lambda不需要考慮命名的問題。

3. 使用lambda在某些時候讓代碼更容易理解。

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.