Для реализации объекта, подлежащего индексированию, легко, просто реализуйте __getitem__
в этом определении класса объекта.
Но теперь я хочу реализовать подклассный класс. Например, я хочу реализовать этот код:
class Fruit(object):
Apple = 0
Pear = 1
Banana = 2
#________________________________
#/ Some other definitions, \
#\ make class 'Fruit' subscriptable. /
# --------------------------------
# \ ^__^
# \ (oo)\_______
# (__)\ )\/\
# ||----w |
# || ||
print Fruit['Apple'], Fruit['Banana']
#Output: 0 2
Я знаю, что getattr
может делать то же самое, но я чувствую, что доступ к индексу более элегантный.