我可以在python中格式化变量吗?

时间:2010-07-19 17:53:41

标签: python

有没有办法形成变量?

例如,我想自动创建一个名为 M_color 的变量,其中 M 是一个值为“bingo”的字符串。最终结果将是 bingo_color 。 如果M的值在执行期间发生变化,我该怎么办?

2 个答案:

答案 0 :(得分:8)

解决此类问题的最佳方法是使用词典:

color_of = {}
M = "bingo"
color_of[M] = "red"
print(color_of[M])

答案 1 :(得分:1)

如果'变量'可以是对象的属性,则可以使用setattr()

class Color(object):
    pass

color = Color()

attr_name = '{foo}_color'.format(foo='bingo')
setattr(color, attr_name, 'red')

除此之外,您正在考虑使用eval()