有时我需要使用变量创建带后缀的新变量,我可以使用以下内容:
Number=5
locals()['First'+str(Number)]=5
导致变量 First5 = =。
如何在类实例中执行相同的操作?
class foo:
def appender(self,bar):
for i in range(bar):
self.locals()['Number'+str(i)]=i
#-----
qq=foo()
qq.appender(3) #issues...
我想创建qq.Number0,qq.Number1和qq.Number2,但它告诉我foo没有本地实例。如何连接字符串以在我的实例中创建新变量? 谢谢!
答案 0 :(得分:0)
要动态设置类实例的属性,可以使用内部方法__setattr__
。
class Foo(object):
def appender(self, bar):
self.__setattr__('Number' + str(bar), bar)
哪个应该给你:
>>>> foo = Foo()
>>>> foo.appender(1)
>>>> foo.Number1
1