在 Python 中打印变量名称:揭示值背后的名称
在 Python 编程领域,访问变量的名称可以是一项令人困惑的任务。考虑这样一个场景,您拥有一个名为“choice”的变量,这是一个分配了值 2 的数字实体。有趣的是,您试图检索该变量的名称,类似于表达式“namestr(choice)”,这将产生“choice” ' 作为其输出。
这一努力的吸引力源于其在构建词典方面的实用性。然而,实现这一目标的道路却一直困扰着你,让你感到困惑。
深入研究解决方案
不要害怕,解决方案等待着你的询问。 Python 赋予我们检查模块,这是一个强大的工具,允许我们深入研究代码的内部工作原理。利用此模块,我们可以通过以下方法提取变量的名称:
import inspect, re def varname(p): for line in inspect.getframeinfo(inspect.currentframe().f_back)[3]: m = re.search(r'\bvarname\s*\(\s*([A-Za-z_][A-Za-z0-9_]*)\s*\)', line) if m: return m.group(1) if __name__ == '__main__': spam = 42 print varname(spam)
此函数“varname”迭代当前帧内的代码并捕获包含对“的调用”的行变量名。'使用正则表达式,它提取已传递的变量的名称。
注意事项
虽然此方法授予获得变量名称的能力,但它必须谨慎接近。检查代码可能是一把双刃剑,建议在采用这种复杂的解决方案之前探索替代方法。
探索选项
考虑重新访问以下位置的任务并寻求一种更简单、符合 Python 基础知识的解决方案。您提供的信息表明,读取配置文件并根据其内容构建字典可能会提供更优雅、更高效的解决方案。
以上是如何获取 Python 变量的名称?的详细内容。更多信息请关注PHP中文网其他相关文章!