亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

有沒有辦法使對象可下標?

有沒有辦法使對象可下標?

開心每一天1111 2022-09-27 09:30:11
我有一個示例類:class collection:    def __init__(self, itemArray):        self.itemArray = itemArray        self.max = len(itemArray)    def __iter__(self):        self.index = 0        return self    def __next__(self):        if self.index < self.max:            result = self.itemArray[self.index]            self.index += 1            return result        else:            raise StopIteration()我的目標是訪問變量,而不必從類外部顯式使用。我希望能夠通過使對象可迭代來循環訪問對象,這就是為什么我有 和 。self.itemArraycollection.itemArray__iter____next__我想模仿字符串類型采用的行為,即。stringVar = "randomTextString"stringVar[indexVal]嘗試對對象執行此操作將不起作用,因為它會引發 TypeError,因為對象不可下標。我只需要有人給我指出正確的方向。我查看了python文檔的解決方案,但我似乎沒有找到任何東西。
查看完整描述

1 回答

?
慕標5832272

TA貢獻1966條經驗 獲得超4個贊

覆蓋 和 魔術:__getitem____setitem__


def __getitem__(self, idx):

    return self.itemArray[idx]


def __setitem__(self, idx, val):

    self.itemArray[idx] = val


查看完整回答
反對 回復 2022-09-27
  • 1 回答
  • 0 關注
  • 67 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號