变量的Python属性?

时间:2014-05-13 16:24:01

标签: python

我想从self.x中的变量设置x。 例如

for i in range(72)
    self.("entry" + "%s" %(i)) = None

简单地说,我想简单地将所有entry1,entry2,...,entry72设置为None。

self.entry1 = None
self.entry2 = None
self.entry3 = None
self.entry4 = None
.
.
self.entry72 = None

简短地说。但我接受

        print self.("entry" + "%s" %(i))
               ^
SyntaxError: invalid syntax

如何从变量设置self.attibutes?

1 个答案:

答案 0 :(得分:3)

使用内置setattr函数设置动态命名属性:

for i in range(72):
    setattr(self, 'entry{0}'.format(x), None)

正如其他人在评论中指出的那样,72个属性可能没有用例。虽然这可行,但请考虑使用不同的数据类型,例如词典:

self.entries = {}
for i in range(72):
    self.entries[i] = None