假设我有一堂课:
class Foo(object):
def __init__(self,d):
self.d=d
d={'a':1,'b':2}
inst=Foo(d)
inst.d
Out[315]: {'a': 1, 'b': 2}
有没有办法动态创建 n 个属性,其中每个属性都是一个字典键,所以inst.a
会回来1
等等。
class Foo(object):
def __init__(self, attributes):
self.__dict__.update(attributes)
这样就可以了。
>>>foo = Foo({'a': 42, 'b': 999})
>>>foo.a
42
>>>foo.b
999
您还可以使用setattr
内置方法:
class Foo(object):
def __init__(self, attributes):
for attr, value in attributes.iteritems():
setattr(self, attr, value)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)