如何通过执行字符串来获得变量的值?

2024-04-16 11:21:48 发布

您现在位置:Python中文网/ 问答频道 /正文

我有以下代码:

a=2
string="a"
b=exec(string)
print(b)

输出:

None

我希望b的值是'a',也就是2,我怎么能做到呢?你知道吗


Tags: 代码nonestringexecprint
2条回答

如果我正确理解了您的情况,那么您需要在现有变量的上下文中从字符串计算一些python源代码。 可以使用内置的eval函数。你知道吗

a=2
string="a"
b=eval(string)
print(b)

不管怎样。你为什么需要这个?肯定有更好的办法。你知道吗

可能在你的例子中,你可以使用字典来记忆值,而不是单独的变量。在从文件中读取“名称”之后,使用这些名称作为字典键。你知道吗

your_dict = {}
your_dict["a"] = 2
string = "a"
b = your_dict[string]
print(b)
a=2
string="b=a"
exec(string)
print(b)

exec()只执行给定字符串中的代码,因此赋值必须在字符串本身中完成。你知道吗

相关问题 更多 >