python - 创建单独变量字典的更简单方法?

我希望能够将变量的名称作为字符串获取,但我不知道 Python 是否具有这么多的自省(introspection)功能。比如:

>>> print(my_var.__name__)
'my_var'

我想这样做是因为我有一堆变量想变成字典,比如:

bar = True
foo = False
>>> my_dict = dict(bar=bar, foo=foo)
>>> print my_dict 
{'foo': False, 'bar': True}

但我想要比这更自动的东西。

Python 有 locals()vars(),所以我想是有办法的。

最佳答案

正如 unwind 所说,这并不是您在 Python 中真正要做的事情 - 变量实际上是到对象的名称映射。

不过,这里有一种方法可以尝试:

 >>> a = 1
 >>> for k, v in list(locals().iteritems()):
         if v is a:
             a_as_str = k
 >>> a_as_str
 a
 >>> type(a_as_str)
 'str'

https://stackoverflow.com/questions/2553354/

相关文章:

python - 解析命令行参数的最佳方法是什么?

python - 如何判断 tensorflow 是否从 python shell 内部使用 gpu

python - 为什么列表没有像字典一样的安全 "get"方法?

linux - "POSIX"是什么意思?

linux - 如何在 Linux/Unix 上永久设置 $PATH

python - Python 中 % 的结果是什么?

linux - 如何使用 SSH 从服务器下载文件?

linux - 使用 ls 列出目录及其总大小

python - 如何在 Windows 中同时安装 Python 2.x 和 Python 3.x

linux - 如何在终端中获取当前日期和时间并在终端中为其设置自定义命令?