91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

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

德州市| 彭水| 名山县| 景宁| 佛坪县| 库尔勒市| 榆中县| 淳安县| 平谷区| 高淳县| 浮山县| 昭通市| 高平市| 桑日县| 阳谷县| 安乡县| 西乡县| 体育| 密山市| 连州市| 云南省| 邳州市| 贵州省| 合阳县| 宁强县| 泸水县| 越西县| 六枝特区| 延川县| 祁阳县| 义乌市| 南涧| 汉中市| 清丰县| 翁牛特旗| 格尔木市| 德庆县| 杭锦后旗| 蓬安县| 东乌珠穆沁旗| 定边县|