我希望能够使用类似数组的语法访问python对象的一些值,即:
obj = MyClass()
zeroth = obj[0]
first = obj[1]
这个是可能的吗?如果是这样的话,您如何在所讨论的python类中实现它呢?
发布于 2011-06-27 04:06:08
您需要编写或覆盖__getitem__
、__setitem__
和__delitem__
。
举个例子:
class MetaContainer():
def __delitem__(self, key):
self.__delattr__(key)
def __getitem__(self, key):
return self.__getattribute__(key)
def __setitem__(self, key, value):
self.__setattr__(key, value)
这是一个非常简单的类,它允许对其属性进行索引访问。
发布于 2011-06-27 04:06:46
使用__getitem__
和__setitem__
方法。
class MyClass:
def __getitem__(self, key):
return some_value_related_to_key
def __setitem__(self, key, value):
# set value (if needed)
https://stackoverflow.com/questions/6486387
复制相似问题