這篇文章運用簡單易懂的例子給大家介紹Python匿名函數(shù)怎么使用,內(nèi)容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
寧強網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)公司!從網(wǎng)頁設計、網(wǎng)站建設、微信開發(fā)、APP開發(fā)、響應式網(wǎng)站設計等網(wǎng)站項目制作,到程序開發(fā),運營維護。創(chuàng)新互聯(lián)公司從2013年成立到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗和運維經(jīng)驗,來保證我們的工作的順利進行。專注于網(wǎng)站建設就選創(chuàng)新互聯(lián)公司。
定義
匿名函數(shù)指一類無須定義標識符的函數(shù)或子程序。Python用lambda語法定義匿名函數(shù),只需用表達式而無需申明。
lambda語法的定義如下:
lambda [arg1 [,arg2, ... argN]] : expression
除了沒有函數(shù)名,其語法與如下函數(shù)的定義相同。
匿名函數(shù)特點
1.不用取名稱,因為給函數(shù)取名是比較頭疼的一件事,特別是函數(shù)比較多的時候
2.可以直接在使用的地方定義,如果需要修改,直接找到修改即可,方便以后代碼的維護工作
3.語法結構簡單,不用使用def 函數(shù)名(參數(shù)名):這種方式定義,直接使用lambda 參數(shù):返回值 定義即可
lambda這個名稱來自于LISP,而LISP則是從lambda calculus(一種符號邏輯形式)取這個名稱的。在Python中,lambda作為一個關鍵字,作為引入表達式的語法。想比較def函數(shù),lambda是單一的表達式,而不是語句塊!你僅能夠在lambda中封裝有限的業(yè)務邏輯,這樣設計的目的:讓lambda純粹為了編寫簡單的函數(shù)而設計,def則專注于處理更大的業(yè)務。
與普通函數(shù)差異
普通函數(shù):
#普通函數(shù),帶倆參數(shù)的寫法 def add(x,y): return x*y rs = add(10,20) print(rs)
匿名函數(shù)
#帶有倆參數(shù)的匿名函數(shù) b = lambda x,y:x*y rs = b(10,20) print(rs)
實例
#計算存放100個數(shù)字的列表的每一個數(shù)字的平方,返回一個新的列表 print(list(map(lambda x:x*x,[x for x in range(100)])))
執(zhí)行結果
[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匿名函數(shù)怎么使用就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
文章名稱:Python匿名函數(shù)怎么使用
文章起源:http://chinadenli.net/article16/gjdhgg.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站建設、移動網(wǎng)站建設、域名注冊、定制網(wǎng)站、服務器托管、網(wǎng)站設計
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)