第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會有你想問的

Python的新功能,NameError:名稱未定義(創(chuàng)建類后)

Python的新功能,NameError:名稱未定義(創(chuàng)建類后)

慕運(yùn)維8079593 2021-03-09 13:08:54
不知道為什么會這樣或如何解決。我是Python的新手,感謝您的幫助。class Sentence:    def __init__(self, s):        self.s= s        x=s[:-1]        self.L= list(x.split())    def __getitem__(self,idx):        return (self.L[idx])s= Sentence('What a beautiful morning!')getitem(s, 2)NameError:未定義名稱“ getitem”
查看完整描述

2 回答

?
肥皂起泡泡

TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超6個(gè)贊

從文檔:

object.__getitem__(self, key)

要求對實(shí)施評估self[key]。...

通過實(shí)施__getitem__,您可以使用方括號表示法來檢索項(xiàng)目:

s[2]

或通過__getitem__顯式調(diào)用(我不會這樣做):

s.__geitem__(2)


查看完整回答
反對 回復(fù) 2021-03-30
?
千萬里不及你

TA貢獻(xiàn)1784條經(jīng)驗(yàn) 獲得超9個(gè)贊

Blender的回答很簡單,但值得一提的是,我注意到您輸入了:


getitem(s, 2)

看來您在想這樣的事情:


def __getitem__(self, x):

                 |    |

        ---------     |

        |  ------------

        v  v

getitem(s, 2)

請注意,當(dāng)您為一個(gè)類定義一個(gè)方法并將其self作為參數(shù)傳遞時(shí),您正在將該類的實(shí)例(即,對象)指定為,這可能對我有好處,也可能無益self。因此,當(dāng)您self.s = s說“將此對象的值設(shè)置s為參數(shù)s的值”時(shí),就可以說。


self不成為括號中的論點(diǎn)之一;您可以認(rèn)為該論點(diǎn)是括號之外的特殊論點(diǎn)。


def __getitem__(self, x):

                 |    |

------------------    |

|             ---------

v             v

s.__getitem__(2)

再次,正如Blender所說的,由于它__getitem__()是一個(gè)特殊功能(有點(diǎn)像下標(biāo)的運(yùn)算符覆蓋),因此您不應(yīng)該直接調(diào)用它-只是要提防!


查看完整回答
反對 回復(fù) 2021-03-30
  • 2 回答
  • 0 關(guān)注
  • 340 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號