我想在Python中做这样的事情:
a_string = 'variable_name'
print('{0}'.format(variable_name))
也就是说,我想从字符串中提取一个变量的名称并将其发送到.format()中。我该怎么办?
一般来说,这不是一个好的实践数据就是数据,代码就是代码。当然,也有例外
要做您想做的,您可以简单地访问返回的字典呼叫vars
:
a_string = 'variable_name'
print('{0}'.format(vars()[variable_name]))
vars
检查本地上下文中变量的可用性(与对locals()
的调用相同)
回到良好的实践:如果你需要字符串来定位你的程序中的数据,你应该检查你是否可以使用字典而不是让这些数据,动态名称,直接在一个变量中。字典的主要用途之一是允许动态查找数据。
通常使用str.format
的字典形式
>>> variable_name = 'hello'
>>> print('{variable_name}'.format(**vars()))
hello
你可以这样做:
a_string = 'variable_name'
print('{0}'.format(globals()[a_string]))
例子variable_name = 'hello'
a_string = 'variable_name'
>>> print('{0}'.format(globals()[a_string]))
hello