您好,登錄后才能下訂單哦!
小編給大家分享一下python中設置lambda的原因,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
1.lambda語法
lambda [arg1 [,arg2,.....argn]]:expression
2. 傳遞參數
如函數一樣,lambda表達式也可以傳遞參數,但是不同的是,其不能有默認參數。一個lambda調用的實參數目永遠要和形參數目相等。
舉個例子:
auto f = [](const string &lhs, const string &rhs) { return a.size() < b.size(); };
3. 指定返回類型
如前面所提到,如果一個lambda體包含return之外的任何語句,則編譯器假定此lambda返回void。
//錯誤示范:編譯器推斷為void,實際為int auto f = [](int i) { if(i < 0) return -i; else return i; }; //可以修改為如下 auto f = [](int i) -> int { if(i < 0) return -i; else return i; };
4.實例:lambda函數會提高效率,那究竟是不是呢?我們寫一段代碼來驗證一下
import time # 測試的Def函數 def square1(n): return n ** 2 # 測試的Lambda函數 square2 = lambda n: n ** 2 print(time.time()) # 使用Def函數 i = 0 while i < 1000000000: square1(100) i += 1 print(time.time()) # 使用lambda函數 i = 0 while i < 1000000000: square2(100) i += 1 print(time.time()) 1413272496.27 1413272703.05 (Def 函數:207s) 1413272904.49 (Lambda函數:201s)
以上是“python中設置lambda的原因”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。