慕粉1557585686
2017-01-13 22:50:13
為什么有的函數(shù)如emumerate()使用時(shí)是emumerate(L),如 for index ,name in emumerate(L),而其他好多函數(shù)使用時(shí)是.(),如items(),for k , v in d.items( ?),而不是for k , v in items( d )。有點(diǎn)混亂,請(qǐng)大神幫忙解釋下
2 回答

Iamxiaoq
TA貢獻(xiàn)33條經(jīng)驗(yàn) 獲得超6個(gè)贊
因?yàn)長這種對(duì)象(類型)沒有emumerate方法,emumerate這個(gè)只是L這個(gè)對(duì)象外的一個(gè)輔助函數(shù),所以不能使用L.emumerate();
而d這個(gè)對(duì)象是有items()這個(gè)方法的,所以可以使用d.items();
那為什么d有items,而L卻沒有emumerate呢?
d.items操作的都是d對(duì)象內(nèi)部的屬性key,value,而emumerate只是對(duì)L做了修飾(姑且這么說吧),在L的基礎(chǔ)上返回index,這個(gè)index并不是L的屬性與L沒有那么密切的關(guān)系,所以L在設(shè)計(jì)的時(shí)候沒有emumerate這個(gè)方法。。。。。。。。。。。。。。
估計(jì)題主是剛接觸編程不久,現(xiàn)在理解可能有些困難,等你以后敲多代碼了,就自然會(huì)理解了。
添加回答
舉報(bào)
0/150
提交
取消