如何在Python中实现一个可下标访问的类(可下标访问的类,而不是可下标访问的对象)?
- 论坛
- 如何在Python中实现一个可下标访问的类(可下标访问的类,而不是可下标访问的对象)?
5 浏览
如何在Python中实现一个可下标访问的类(可下标访问的类,而不是可下标访问的对象)?
实现一个可下标访问的对象很简单,只需在该对象的类定义中实现__getitem__
方法。
但是现在我想要实现一个可下标访问的类。例如,我想实现以下代码:
class Fruit(object): Apple = 0 Pear = 1 Banana = 2 #________________________________ #/ Some other definitions, \ #\ make class 'Fruit' subscriptable. / # -------------------------------- # \ ^__^ # \ (oo)\_______ # (__)\ )\/\ # ||----w | # || || print Fruit['Apple'], Fruit['Banana'] #输出:0 2
我知道getattr
也可以实现相同的功能,但我觉得下标访问更加优雅。