好用的 eval | python 小知识
今天和大家介绍一个 python 内置的函数:好用的 eval。
1. eval 的好处
eval 的功能是将一个字符串转换成 python 对象,比如可以将浮点型字符转换为浮点型进行运算。
复制代码
这似乎没什么了不起,强制类型转换而已。我们再来看一个例子:
复制代码
从上可知,eval 可以将函数调用的字符串直接转换函数的执行。
eval 的另一个场景是:通过字符串(通常是在配置文件里)选择需要执行的函数, 见如下例子:
复制代码
上面例子中,我们提供了不同处理函数 process_*,实际调用的时候可能会根据不同情况调用不同处理函数,或者尝试不同的处理函数的差异,我们就可以通过 eval 来将函数名转换为函数对象。
2. eval 的注意事项
由于 eval 能够将字符串转换为实际的对象,如果是函数调用,就会执行;所以使用 eval 的时候,要避免不良的字符串命令, 如:
复制代码
上述例子把 home 目录所有数据都删除了;所以避免 eval 里的参数接受公开的输入。
版权声明: 本文为 InfoQ 作者【AIWeker】的原创文章。
原文链接:【http://xie.infoq.cn/article/abf8dc260aa6d1227cd823d49】。文章转载请联系作者。
评论