雷那编程
使用exec,eval函数,动态执行Python代码片段
eval()函数
eval()函数执行一个Python字符串表达式,并能返回表达式结果
注意:该函数只能是单个表达式,不支持复杂的代码逻辑,例如赋值操作、循环语句等
函数定义:
eval(expression, globals, locals)
expression:必须,Python表达式字符串
globals:可选,dict结构,存放全局变量
locals:可选,dict结构,存放局部变量
返回值:表达式执行结果
使用示例:
exec()函数
可以动态执行一段Python代码,代码段是可以非常复杂
在Python2中,exec是一个关键字语句,而在Python3中,exec变成了一个函数,跟print一样
exec() 与 eval() 功能相似,三个参数含义和作用相近
函数定义:
exec(object, globals, locals)
参数说明:
object:必选,Python代码段字符串
globals:可选,dict结构,存放全局变量
locals:可选,dict结构,存放局部变量
exec函数没有返回值
eval()与exec()区别
exec()第一个参数是代码块,而eval()是一个表达式字符串
eval()可以返回表达式的值,exec()执行返回值是None
eval()只能接一个单一字符串表达式,exec()可以是复杂的代码逻辑
避免使用eval()、exec()
尽量避免使用eval()、exec(),使用该函数可能会引起“代码注入”的安全问题
最后
如果内容有误,欢迎评论区指正!
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69927053/viewspace-3154917/ ,如需转载,请注明出处,否则将追究法律责任。