
py中的eval函数的奇妙结果揭秘
eval函数在python中是一个强大的工具,但有时它可能会产生令人意外的结果。让我们通过几个示例来探究eval函数是如何工作的。
示例1
s2 = eval("12+45" + "12")
print(s2)结果:4524
立即学习“Python免费学习笔记(深入)”;
为什么是4524?
eval函数的计算分两步进行:
- 将 "12+45" + "12" 连接起来,得到 "12+4512"。
- 对 "12+4512" 应用eval,得到 4524(即 12 + 4524)。
示例2
s = eval("1+2" + "10")
print(s)结果:211
为什么是211?
虽然代码与示例1类似,但结果却不同:
- 将 "1+2" + "10" 连接起来,得到 "1+210"。
- 对 "1+210" 应用eval,得到 211(即 1 + 210)。
因此,在使用eval函数时,务必注意操作数的类型和连接方式,以避免意外的结果。










