python - 如何在python中获取已定义变量的字符串名称?
问题描述
我们知道,在 python 中,您可以获得已定义函数的名称:例如。
def f(x):
return x
print(f"we've just defined function {f.__name__}")
假设我创建了一个变量:
x = 4
现在在某些时候我想做:
print(f"you have defined a variable named {x.__name__}")
但是上面的语法给出了一个错误,因为x
没有这样的属性。
有没有办法从变量的值中获取变量的名称,就像我们可以使用定义函数的值一样?
解决方案
在解释器中,您可以简单地调用 dir() ,它将输出当前在解释器中初始化的所有变量。您还可以通过编写使用脚本显示它们
print(dir())
此输出的示例如下所示:
['__annotations__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', 'math', 'numpy', 'plt', 'polar', 'r', 'theta', 'time', 'x', 'y']
请注意,这些变量中的每一个都按字母顺序列出,并且可以作为列表对象进行迭代。
推荐阅读
- javascript - jQuery UI:何时使用小部件工厂
- laravel - laravel 控制器方法是否注入模型?
- sip - 组播通话 30 秒后挂断
- perl - 在 Perl 中说功能
- html - 如何修复 Blogger 博客的结构化数据错误“缺失:已更新”和“缺失:作者”?
- android - 避免在 Google 地图上出现别名
- angular - 如何为特定用户设置日期信息过滤器?
- mysql - MySQL 从 INT 列中选择
- c# - 如何在 Unity3D 中从 AssetBundle 中获取 AssetBundleManifest
- google-bigquery - Google BigQuery 使用估计值设置查询大小限制