簡體   English   中英

在python中重載[]運算符?

[英]Overloading [] operator in python?

是否可以在python中重載[]運算符?

我想通過調用classname[elementname]來訪問類的方法(就像在字典中一樣)。 這似乎不是必需的,但是類將包含子元素的數據庫元素封裝在一起,這些子元素也具有子元素,而子元素也具有...的子元素。

如果我從第3個繼承步驟中知道哪個孩子想要得到,則可以代替:

classnname.getChild(childname1).getChild(childname2).getChild(childname3)

使用更短更清潔的產品:

classnname[childname1][childname2][childname3]

您必須在classname上實現魔術方法__getitem__

class classname:
    def __getitem__(self, key):
        return self.getChild(key)

請參閱Python文檔

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM