从 Python 中的字符串中提取变量的名称



我想在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

相关内容

  • 没有找到相关文章

最新更新