AI智能
改变未来

Python函数还能做这种事情?神奇的eval()。


Paradoxical在敲代码的时候想把字符串转化为字典,因为用str()能将字典转化为字符串,所以自然而然就想用dict()把字符串转化为字典,但是结果却和想象的不一样。



那么按照提示的方式试一下呢?

emmmm……和期望的不一样,本来是想把整个字符串转化为字典的,而不是把字符串作为值放入字典。只能去求助小哥哥了。

我:小哥哥~我想要把字符串转化为字典,要怎么做鸭?

惨绿青年:你试下用eval()

于是Paradoxical尝试了一下。




我:woo~真的可以诶!

惨绿青年:eval() 用来执行一个字符串表达式,并返回表达式的值。eval()不仅能用来将字符串转为字典,eval()还可以做很多事情。

惨绿青年:图中eval可以用来计算表达式、调用函数、将字符串转化为列表。

惨绿青年:但是eval也有危险的地方,因为它可以利用系统命令,做出删除文件等操作。

惨绿青年:上图的eval()中的字符串内容相当于输入了“__import__(\’os\’).system(\’dir\’)”,导入了os模块然后用system方法去执行dir命令。dir命令的作用是列出当前目录的子文件。

我:明白了,只要小心使用就可以了吧~

赞(0) 打赏
未经允许不得转载:爱站程序员基地 » Python函数还能做这种事情?神奇的eval()。