gpt4 book ai didi

python - 在 python 中重载 [] 运算符?

转载 作者:太空宇宙 更新时间:2023-11-04 09:50:58 25 4
gpt4 key购买 nike

是否可以在 python 中重载 [] 运算符?

我想通过调用 classname[elementname] 来访问类的方法(就像在字典中一样)。这似乎是不必要的,但该类封装了一个数据库元素,其中包含子项,这些子项也有子项,这些子项也有子项……您明白了。

如果我知道我想从第 3 个继承步骤中得到哪个 child ,那么我可以代替:

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

使用更短更干净的:

classnname[childname1][childname2][childname3]

最佳答案

你必须在 classname 上实现魔术方法 __getitem__

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

参见 Python documentation

关于python - 在 python 中重载 [] 运算符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47818459/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com