首页 > 解决方案 > 在 Python 中获取变量的名称

问题描述

如果我有var任何类型的局部/全局变量,我如何获得它的名称,即字符串"var"?即对于一些虚构的函数或运算符,nameof()下一个代码应该可以工作:

var = 123
assert nameof(var) == "var"

.__name__用于获取变量保存值的函数或类型对象的名称的属性,但是有没有类似的东西用于获取变量本身的名称?

这可以在不将变量包装到某个魔术对象中的情况下实现吗,就像某些库为了获取变量的名称所做的那样?如果没有魔法包装器就无法实现,那么用于这种情况的最常见/流行的包装库是什么?

标签: pythonvariables

解决方案


您可以使用包 python-varname 执行此操作:https ://github.com/pwwang/python-varname

第一次运行pip install varname。然后看下面的代码:

from varname import nameof
var = 123
name = nameof(var)
#name will be 'var'

推荐阅读