亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python的lambda函數有什么作用

發布時間:2021-06-17 16:20:20 來源:億速云 閱讀:258 作者:chen 欄目:開發技術

本篇內容介紹了“Python的lambda函數有什么作用”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

lambda函數用法

lambda非常重要的一個定義。lambda在【運行時】才綁定,【不是】在定義的時候綁定。下面這個列子:
本意想:讓X分別與0到1的數相加。x+0,x+1,x+2,x+3
實際運行結果是:

0
0
0
0

原因就是上面提到的,運行時才綁定。先運行的for循環,無法捕捉到循環。

func = [lambda x: x + n for n in range(4)]  # x+n,n是從0到3 For循環,x+0,x+1,x+3
for f in func:
    print(f(0))  # 打印func列表的第一個數據。

——————————————————————
修改后的代碼:增加了n=n

func = [lambda x,n=n:x+n for n in range(4)]
for f in func:
    print(f(0))

運行結果:

0
1
2
3

這是我們想達到的結果。n=n,就是在定義時捕捉。

原因:

n是自由變量,執行時才能確定。
我們把n變成參數就可以了,因為參數可以在定義時綁定變量。
——————————————————————
下面的例子很奇怪:

h = 1
a = lambda k: h + k
h = 2
b = lambda k: h + k
print(a(3))
print(b(3))

運行結果:

5
5

我們賦值的h=1根本沒被使用。始終做計算3+2。
h=1
h=2
都是全局變量,就會以最后一個為準。
——————————————————————
修改后

h = 1
a = lambda k,h=h: h + k
h = 3
b = lambda k,h=h: h + k
print(a(10))
print(b(10))

運行結果:

11
13

——————————————————————

h = 1
h = 100
a = lambda k,h=h: h + k
h = 3
b = lambda k,h=h: h + k
print(a(10))
print(b(10))

結果:

110
13

上面最后的例子,發現h=1,h=100,只選擇100參與計算。100+10=110 因為h=1,h=100都是全局,以最后為準。python代碼從上到下運行的。

“Python的lambda函數有什么作用”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

福州市| 郁南县| 迁安市| 公安县| 上高县| 绥芬河市| 天等县| 金堂县| 宁国市| 吕梁市| 江达县| 逊克县| 冕宁县| 扶余县| 贺兰县| 襄垣县| 莱芜市| 信阳市| 英山县| 那坡县| 尼玛县| 益阳市| 惠东县| 济宁市| 康马县| 米易县| 卫辉市| 运城市| 彭州市| 巴彦淖尔市| 东方市| 瓦房店市| 桓仁| 浠水县| 和硕县| 荥经县| 阿克| 永康市| 富宁县| 温州市| 中方县|