Реализовать доступ к списку как индекс в Python Я хотел бы иметь доступ к некоторым значениям объекта python с использованием синтаксиса типа массива, то есть: obj = MyClass() zeroth = obj[0] first = obj[1] Возможно ли это? Если да, как это реализовать в рассматриваемом классе python? Ответ 1 Вам нужно написать или переопределить __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) Это очень простой класс, который позволяет индексировать доступ к его атрибутам. Ответ 2 Используйте методы __getitem__ и __setitem__. class MyClass: def __getitem__(self, key): return some_value_related_to_key def __setitem__(self, key, value): # set value (if needed)
Ответ 1 Вам нужно написать или переопределить __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) Это очень простой класс, который позволяет индексировать доступ к его атрибутам.
Ответ 2 Используйте методы __getitem__ и __setitem__. class MyClass: def __getitem__(self, key): return some_value_related_to_key def __setitem__(self, key, value): # set value (if needed)