我想从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?
答案 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