如何在python3中的一个部分中创建包含动态和静态元素的变量?

如何在python3中的一个部分中创建包含动态和静态元素的变量?,python,python-3.x,Python,Python 3.x,如何在python循环中创建包含动态和静态元素的变量?大概是这样的: 静态部分:self.var\u li。动态部分:da for da in range(10): self.var_li_da = da 我的输出是: var is : self.var_li_1 and value : 1 var is : self.var_li_2 and value : 2 var is : self.var_li_3 and value : 3 var is : self.var_li_4 an

如何在python循环中创建包含动态和静态元素的变量?大概是这样的:

静态部分:
self.var\u li
。动态部分:
da

for da in range(10):
   self.var_li_da = da
我的输出是:

var is : self.var_li_1 and value : 1
var is : self.var_li_2 and value : 2
var is : self.var_li_3 and value : 3
var is : self.var_li_4 and value : 4
...
使用:


谢谢,解决了!!我使用setattr的方式是:对于范围(10)内的da:setattr(self,'var_li_uuu%s'%da,da)不起作用,我能问一下原因吗?@alireza.m很高兴它有帮助:)对于字符串插值,我更喜欢
格式,而不是
%
,但在Python 3.3.thx中,这两种方法对我都起作用,也许我错了,我也发现了这种方法,而且它是有效的,但这种方式是否正确使用(因为exec)@alireza.m
exec
的问题在于,您可以执行任意代码,而当您使用字符串插值时,这是有风险的。在这里,这并不重要,但是在这个上下文中,
setattr
更为自然(设置对象属性)。
for da in range(10):
    setattr(self, 'var_li_{}'.format(da), da)