您的位置: 网站首页> python基础> 当前文章
python的exec()函数用法详解
老董-我爱我家房产SEO2020-03-15187围观,137赞
exec()函数和eval()函数功能上有些类似,但是exec()比eval()要强大一些,除了执行表达式之外还能执行更复杂的语句,但是exec 返回值永远为 None(也就是没有返回值)。
exec(object[, globals[, locals]])
object:必选参数,表示需要被指定的Python代码。它必须是字符串或code对象。如果object是一个字符串,该字符串会先被解析为一组Python语句,然后在执行(除非发生语法错误)。如果object是一个code对象,那么它直接被执行。
globals:可选参数,管控一个全局的命名空间,即 object可以使用全局命名空间中的函数。如果只是提供了 globals 参数,而没有提供自定义的 __builtins__,则系统会将当前环境中的 __builtins__ 复制到自己提供的 globals 中,然后才会进行计算;如果连globals 这个参数都没有被提供,则使用 Python 的全局命名空间。
locals:可选参数,表示当前局部命名空间(存放局部变量),如果被提供,可以是任何映射对象。如果该参数被忽略,那么它将会取与globals相同的值,当它和 globals 中有重复或冲突时,以 locals 的为准。
globals和locals参数略微复杂,后面用专题说明,先看看必选参数object,如下案例:
# -*- coding: utf-8 -*- # 执行赋值语句 a = 0 exec('a=100') print(a) # 执行循环语句 exec("""for i in range(3): print(i)""") # None res = exec('2+3') print(res)
100 0 1 2 None
很赞哦!
python编程网提示:转载请注明来源www.python66.com。
有宝贵意见可添加站长微信(底部),获取技术资料请到公众号(底部)。同行交流请加群
相关文章
文章评论
-
python的exec()函数用法详解文章写得不错,值得赞赏
站点信息
- 网站程序:Laravel
- 客服微信:a772483200