eval函数在Python中具有非常重要的地位,熟练的使用eval函数能够为我们的Python编程提供很多的便利之处。在本文中我将详细记录eval函数在Python中的使用方法及它带来便利时带来的一些其他危害,希望您阅读完本文后能够有所收获。欢迎在文章下方留言共同交流学习。
Python eval 函数
一、语法和参数
在Python中eval()函数的语法格式为eval(expression, globals=None, locals=None)
,注意后面还有globals参数和locals参数。eval()函数用于执行一个字符串表达式,并且返回该表达式的值。与eval相近的有exec函数,该函数将会在另一篇文章详细讲解。
- expression:表达式,上面提到eval函数用于执行一个字符串表达式,表达式的内容就放在此处。当表达式涉及到
- globals:该部分必须是字典!必须是字典!必须是字典!否则程序会出错。当定义了globals 参数之后eval函数的作用域会被限定在globals中。
- locals:该参数掌控局部的命名空间,功能和globals类型,不过当参数冲突时,会执行locals处的参数。
二、expression参数示例
a=10;
print(eval("a+1"))
运行结果为11
【解析】:因为此处没有指定globals和locals,所以直接执行expression部分的内容。该程序的效果等价于a=10 print(a+1)
三、globals参数示例
a=