如何使用 'exec' 按名称 select 变量

How do I select a variable by its name using 'exec'

我有一个问题正在努力解决。我需要进行输入以允许用户命名变量,但我将如何使用该变量?

要做到这一点,我只需要做:

a = input('var name?')
exec(a) 

所以如果用户输入 'dog' 那将是一个名为 dog 的变量,但是我该如何使用这个变量呢?我不知道它的名字所以它甚至可能吗?

此外,如果它在函数中,我该如何将其设为全局变量?抱歉我的语法和英语不好。我不太确定该尝试什么。

因此,您可以 执行此操作,但我不确定您为什么会这样做。无论你做什么,不要使用 exec 因为 Tagc 在评论中提出的原因。

>>> a = input('var name? ')
var name? dog
>>> globals()[a] = 'hi everyone'
>>> dog
'hi everyone'

有这个名字,它在 a 中,你可以在 globals():

中访问它
>>> globals()[a]
'hi everyone'
>>>

但这恰恰说明了重点:为什么不直接使用 dict 而不是 globals() dict