我希望能够以字符串的形式获取变量的名称,但是我不知道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(),所以我猜有办法。

最佳答案

您要这样做吗?

dict( (name,eval(name)) for name in ['some','list','of','vars'] )

例子
>>> some= 1
>>> list= 2
>>> of= 3
>>> vars= 4
>>> dict( (name,eval(name)) for name in ['some','list','of','vars'] )
{'list': 2, 'some': 1, 'vars': 4, 'of': 3}

关于python - 创建单独变量字典的更简单方法?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2553354/

10-10 21:56
查看更多