使用类似locals()['some\u string']的方法创建类实例变量

2024-06-26 14:24:13 发布

您现在位置:Python中文网/ 问答频道 /正文

有时我需要用一个变量来创建带有后缀的新变量,我可以用如下方法:

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.0号, qq号码1以及qq号码2,但它告诉我foo没有本地人。如何连接字符串以在实例中创建新变量? 谢谢!你知道吗


Tags: 实例方法selfnumberfoobar后缀class
1条回答
网友
1楼 · 发布于 2024-06-26 14:24:13

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

class Foo(object):
    def appender(self, bar):
        self.__setattr__('Number' + str(bar), bar)

这应该给你:

>>>> foo = Foo()
>>>> foo.appender(1)
>>>> foo.Number1
1

相关问题 更多 >