有时,我需要使用变量创建带有后缀的新变量,我可以这样做:
Number=5
locals()['First'+str(Number)]=5导致变量First5 = 5。
如何在类实例中执行相同的操作?
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没有本地实例。如何连接字符串以在实例中创建新变量?谢谢!
发布于 2014-07-06 04:20:43
要动态设置类实例的属性,可以使用内部方法__setattr__。
class Foo(object):
def appender(self, bar):
self.__setattr__('Number' + str(bar), bar)这应该会给你:
>>>> foo = Foo()
>>>> foo.appender(1)
>>>> foo.Number1
1https://stackoverflow.com/questions/24592648
复制相似问题