首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用局部变量[‘some_string’]类似的方法创建类实例变量

使用局部变量[‘some_string’]类似的方法创建类实例变量
EN

Stack Overflow用户
提问于 2014-07-06 04:13:59
回答 1查看 63关注 0票数 0

有时,我需要使用变量创建带有后缀的新变量,我可以这样做:

代码语言:javascript
复制
Number=5
locals()['First'+str(Number)]=5

导致变量First5 = 5。

如何在类实例中执行相同的操作?

代码语言:javascript
复制
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没有本地实例。如何连接字符串以在实例中创建新变量?谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-07-06 04:20:43

要动态设置类实例的属性,可以使用内部方法__setattr__

代码语言:javascript
复制
class Foo(object):
    def appender(self, bar):
        self.__setattr__('Number' + str(bar), bar)

这应该会给你:

代码语言:javascript
复制
>>>> foo = Foo()
>>>> foo.appender(1)
>>>> foo.Number1
1
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24592648

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档