濮阳杆衣贸易有限公司

主頁 > 知識庫 > 詳解Python的lambda函數(shù)用法

詳解Python的lambda函數(shù)用法

熱門標(biāo)簽:地圖標(biāo)注視頻廣告 百度地圖標(biāo)注位置怎么修改 無錫客服外呼系統(tǒng)一般多少錢 洪澤縣地圖標(biāo)注 高德地圖標(biāo)注是免費(fèi)的嗎 梅州外呼業(yè)務(wù)系統(tǒng) 大連crm外呼系統(tǒng) 北京電信外呼系統(tǒng)靠譜嗎 老人電話機(jī)器人

lambda函數(shù)用法

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

0
0
0
0

原因就是上面提到的,運(yùn)行時才綁定。先運(yùn)行的for循環(huán),無法捕捉到循環(huán)。

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

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

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

運(yùn)行結(jié)果:

0
1
2
3

這是我們想達(dá)到的結(jié)果。n=n,就是在定義時捕捉。

原因:

n是自由變量,執(zhí)行時才能確定。
我們把n變成參數(shù)就可以了,因?yàn)閰?shù)可以在定義時綁定變量。
——————————————————————
下面的例子很奇怪:

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

運(yùn)行結(jié)果:

5
5

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

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

運(yùn)行結(jié)果:

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))

結(jié)果:

110
13

上面最后的例子,發(fā)現(xiàn)h=1,h=100,只選擇100參與計算。100+10=110 因?yàn)閔=1,h=100都是全局,以最后為準(zhǔn)。python代碼從上到下運(yùn)行的。

到此這篇關(guān)于詳解Python的lambda函數(shù)用法的文章就介紹到這了,更多相關(guān)lambda函數(shù)用法內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • Python函數(shù)的返回值、匿名函數(shù)lambda、filter函數(shù)、map函數(shù)、reduce函數(shù)用法實(shí)例分析
  • Python lambda表達(dá)式filter、map、reduce函數(shù)用法解析
  • Python的Lambda函數(shù)用法詳解
  • python3 lambda表達(dá)式詳解
  • python lambda的使用詳解
  • 詳解python中的lambda與sorted函數(shù)

標(biāo)簽:岳陽 安慶 怒江 清遠(yuǎn) 長春 泉州 洛陽 吉林

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《詳解Python的lambda函數(shù)用法》,本文關(guān)鍵詞  詳解,Python,的,lambda,函數(shù),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《詳解Python的lambda函數(shù)用法》相關(guān)的同類信息!
  • 本頁收集關(guān)于詳解Python的lambda函數(shù)用法的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    肥乡县| 两当县| 教育| 凤凰县| 黔东| 扶绥县| 涪陵区| 公安县| 通海县| 望城县| 台中县| 晋江市| 谢通门县| 邵武市| 宣威市| 甘孜| 霍城县| 诏安县| 汶上县| 柘城县| 抚州市| 嵊泗县| 开封市| 洪泽县| 太原市| 保定市| 连南| 巴塘县| 仪征市| 涿鹿县| 清丰县| 辽源市| 中方县| 太谷县| 岚皋县| 郧西县| 三河市| 铁力市| 通辽市| 博白县| 东乡族自治县|