标签: python slots
我有一个使用__slots__定义的python类,如下所示:
__slots__
class TheClass: __slots__=['foo','bar']
我想按名称设置值,如此
the_object=TheClass() for x in ['foo','bar']: the_object[x]=x+x
可能吗?
答案 0 :(得分:3)
与一般情况没有区别,您可以使用getattr和setattr:
getattr
setattr
the_object=TheClass() for attname in ['foo','bar']: setattr(the_object, attname, attname+attname)
你会得到:
>>> the_object.foo 'foofoo'