我希望能够以字符串的形式获取变量的名称,但是我不知道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/