您好,登錄后才能下訂單哦!
這篇文章運用簡單易懂的例子給大家介紹Python匿名函數怎么使用,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
定義
匿名函數指一類無須定義標識符的函數或子程序。Python用lambda語法定義匿名函數,只需用表達式而無需申明。
lambda語法的定義如下:
lambda [arg1 [,arg2, ... argN]] : expression
除了沒有函數名,其語法與如下函數的定義相同。
匿名函數特點
1.不用取名稱,因為給函數取名是比較頭疼的一件事,特別是函數比較多的時候
2.可以直接在使用的地方定義,如果需要修改,直接找到修改即可,方便以后代碼的維護工作
3.語法結構簡單,不用使用def 函數名(參數名):這種方式定義,直接使用lambda 參數:返回值 定義即可
lambda這個名稱來自于LISP,而LISP則是從lambda calculus(一種符號邏輯形式)取這個名稱的。在Python中,lambda作為一個關鍵字,作為引入表達式的語法。想比較def函數,lambda是單一的表達式,而不是語句塊!你僅能夠在lambda中封裝有限的業務邏輯,這樣設計的目的:讓lambda純粹為了編寫簡單的函數而設計,def則專注于處理更大的業務。
與普通函數差異
普通函數:
#普通函數,帶倆參數的寫法 def add(x,y): return x*y rs = add(10,20) print(rs)
匿名函數
#帶有倆參數的匿名函數 b = lambda x,y:x*y rs = b(10,20) print(rs)
實例
#計算存放100個數字的列表的每一個數字的平方,返回一個新的列表 print(list(map(lambda x:x*x,[x for x in range(100)])))
執行結果
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81, 100, 121, 144, 169, 196, 225, 256, 289, 324, 361, 400, 441, 484, 529, 576, 625, 676, 729, 784, 841, 900, 961, 1024, 1089, 1156, 1225, 1296, 1369, 1444, 1521, 1600, 1681, 1764, 1849, 1936, 2025, 2116, 2209, 2304, 2401, 2500, 2601, 2704, 2809, 2916, 3025, 3136, 3249, 3364, 3481, 3600, 3721, 3844, 3969, 4096, 4225, 4356, 4489, 4624, 4761, 4900, 5041, 5184, 5329, 5476, 5625, 5776, 5929, 6084, 6241, 6400, 6561, 6724, 6889, 7056, 7225, 7396, 7569, 7744, 7921, 8100, 8281, 8464, 8649, 8836, 9025, 9216, 9409, 9604, 9801]
關于Python匿名函數怎么使用就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。