exec() 执行代码块

最后更新:2026-09-22

exec() 执行代码块

exec() 执行字符串中的 Python 代码(语句或代码块),不返回值。

分类内置函数
类型内置函数
Python 版本all

📝 语法

exec(code[, globals[, locals]])

⚙️ 参数

code 必选要执行的代码(字符串、字节串或 code 对象)。
globals 可选全局命名空间字典。(默认值:None)
locals 可选局部命名空间字典。(默认值:None)

返回值:无(返回 None);代码中的语句在调用方生效。

💥 异常

▶ 示例

编辑下方代码,点击运行,在输出面板查看结果:

运行结果:

6
y = 6
更多实战案例即将上线,敬请期待。

❓ 常见问题

Qexec('y = 1') 之后我能直接使用 y 吗?
A在模块顶层可以;但在函数内部不行,exec 里的赋值不会写进函数局部变量。安全做法是 exec(code, ns) 然后从 ns 字典里取。
Qexec() 有返回值吗?
A没有,总是返回 None;执行结果通过命名空间字典读取,如 exec('y = x * 2', ns) 后用 ns['y']。
Qexec() 和 eval() 什么时候用哪个?
A执行多行语句、定义函数用 exec;求单个表达式的值用 eval。两者的安全警告相同——都不应执行不可信输入。
Qexec 的 globals 参数怎么用?
Aexec(code, {'x': 3}) 让代码只在给定命名空间里运行,不污染外部环境,是隔离执行环境的常用手法。
Web-Tutorial.com

Web-Tutorial 技术团队

由多位开发者共同维护的编程教程平台。每篇教程由对应领域的开发者编写和审核,确保内容准确可靠。如发现任何问题,欢迎向我们反馈。

100%

🙏 帮我们做得更好

我们是刚上线的编程教程站,几个人的小团队,精力有限。页面虽经检查,难免还有疏漏——链接失效、排版错乱、内容有误、语言生硬……

如果您发现了,麻烦告诉我们,我们会在收到反馈后第一时间进行修复,再次感谢您的光临 🙏