Python的val()是做什么的?

Python的val()是做什么的?

在我正在阅读的关于Python的书中,它一直使用以下代码eval(input('blah'))

我阅读了文档,我理解它,但我仍然不明白它如何改变input()功能。

是干什么的呢?有人能解释一下吗?


慕慕森
浏览 8740回答 3
3回答

子衿沉夜

val函数允许Python程序在其内部运行Python代码。Eval示例(交互式shell):>>> x = 1>>> eval('x + 1')2>>> eval('x')1

长风秋雁

eval()将字符串解释为代码。为什么这么多人警告您不要使用它,是因为用户可以使用它作为在计算机上运行代码的选项。如果你有eval(input())和os一个人可以输入input() os.system('rm -R *')它将删除主目录中的所有文件。(假设您有一个Unix系统)。使用eval()是个安全漏洞。如果需要将字符串转换为其他格式,请尝试使用这样的方法,如int().
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python