在我正在阅读的关于 Python 的书中,它一直使用代码 eval(input('blah'))
我阅读了文档,并且理解了它,但我仍然看不到它如何更改 input()
函数。
它有什么作用?有人可以解释吗?
原文由 Billjk 发布,翻译遵循 CC BY-SA 4.0 许可协议
在我正在阅读的关于 Python 的书中,它一直使用代码 eval(input('blah'))
我阅读了文档,并且理解了它,但我仍然看不到它如何更改 input()
函数。
它有什么作用?有人可以解释吗?
原文由 Billjk 发布,翻译遵循 CC BY-SA 4.0 许可协议
eval()
将字符串解释为代码。之所以有这么多人警告您不要使用它,是因为用户可以使用它作为在计算机上运行代码的选项。 If you have eval(input())
and os
imported, a person could type into input()
os.system('rm -R *')
which would delete all your files in your home directory. (假设你有一个 unix 系统)。使用 eval()
是一个安全漏洞。如果您需要将字符串转换为其他格式,请尝试使用这样做的东西,例如 int()
。
原文由 CoffeeRain 发布,翻译遵循 CC BY-SA 3.0 许可协议
4 回答4.4k 阅读✓ 已解决
4 回答3.8k 阅读✓ 已解决
1 回答2.9k 阅读✓ 已解决
3 回答2.1k 阅读✓ 已解决
1 回答4.5k 阅读✓ 已解决
1 回答3.8k 阅读✓ 已解决
1 回答2.8k 阅读✓ 已解决
eval 函数允许 Python 程序在自身内部运行 Python 代码。
评估示例(交互式外壳):