说我们有一个类:Python类:添加动态属性,方法
class Foo (object):
... def __init__(self,d):
... self.d=d
... def return_d(self):
... return self.d
...和字典:
d={'k1':1,'k2':2}
...和一个实例:
inst=Foo(d)
有没有办法动态地将属性添加到return_d
如此:
inst.return_d.k1
会返回1吗?
为什么'inst.return_d()['k1']'没有? '.'运算符执行属性查找,因此无论'return_d'返回什么,都应该支持属性查找,可能通过'__getattr__'挂钩。请注意,您希望'return_d'是一个属性,但你把它定义为一个方法,所以这个例子中你的状态就不会在该帐户单独工作。 –
[?访问字典键,如在Python属性]的部分欺骗(http://stackoverflow.com/q/4984647) –
@Pieter:它会做。这是一个愚蠢的例子,只是想更多地了解课堂以及我能做什么和不能做什么。 – root