菜鸟教程 -- 学的不仅是技术,更是梦想!

Python 3 教程
Python3 教程 Python3 简介 Python3 环境搭建 Python3 VScode Python3 基础语法 Python3 基本数据类型 Python3 数据类型转换 Python3 解释器 Python3 注释 Python3 运算符 Python3 数字(Number) Python3 字符串 Python3 列表 Python3 元组 Python3 字典 Python3 集合 Python3 条件控制 Python3 循环语句 Python3 编程第一步 Python3 推导式 Python3 迭代器与生成器 Python3 with Python3 函数 Python3 lambda Python3 装饰器 Python3 数据结构 Python3 模块 Python __name__ Python3 输入和输出 Python3 File Python3 OS Python3 错误和异常 Python3 面向对象 Python3 命名空间/作用域 Python 虚拟环境的创建 Python 类型注解 Python3 标准库概览 Python3 实例 Python 测验

Python3 高级教程

Python3 正则表达式 Python3 CGI编程 Python3 MySQL(mysql-connector) Python3 MySQL(PyMySQL) Python3 网络编程 Python3 SMTP发送邮件 Python3 多线程 Python3 XML 解析 Python3 JSON Python3 日期和时间 Python3 内置函数 Python3 MongoDB Python3 urllib Python uWSGI 安装配置 Python3 pip Python3 operator Python math Python requests Python random Python OpenAI Python 有用的资源 Python AI 绘画 Python statistics Python hashlib Python 量化 Python pyecharts Python selenium 库 Python 爬虫 Python Scrapy 库 Python Markdown Python sys 模块 Python Pickle 模块 Python subprocess 模块 Python queue 模块 Python StringIO 模块 Python logging 模块 Python datetime 模块 Python re 模块 Python csv 模块 Python threading 模块 Python asyncio 模块 Python PyQt Python for 循环 Python while 循环
(追記) (追記ここまで)

Python3 exec 函数

Python3 内置函数 Python3 内置函数


描述

exec 执行储存在字符串或文件中的 Python 语句,相比于 eval,exec 可以执行更复杂的 Python 代码。

语法

以下是 exec 的语法:

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

参数

  • object:必选参数,表示需要被指定的 Python 代码。它必须是字符串或 code 对象。如果 object 是一个字符串,该字符串会先被解析为一组 Python 语句,然后再执行(除非发生语法错误)。如果 object 是一个 code 对象,那么它只是被简单的执行。
  • globals:可选参数,表示全局命名空间(存放全局变量),如果被提供,则必须是一个字典对象。
  • locals:可选参数,表示当前局部命名空间(存放局部变量),如果被提供,可以是任何映射对象。如果该参数被忽略,那么它将会取与 globals 相同的值。

返回值

exec 返回值永远为 None。


实例

以下展示了使用 exec 的实例:

实例 1

>>>exec('print("Hello World")')HelloWorld# 单行语句字符串 >>> exec("print ('runoob.com')")runoob.com# 多行语句字符串 >>> exec("""for i in range(5): ... print ("iter time: %d" % i) ... """)itertime: 0itertime: 1itertime: 2itertime: 3itertime: 4

实例 2

x = 10expr = """ z = 30 sum = x + y + z print(sum) """deffunc(): y = 20exec(expr)exec(expr, {'x': 1, 'y': 2})exec(expr, {'x': 1, 'y': 2}, {'y': 3, 'z': 4})func()

输出结果:

60
33
34

exec 返回值

在 Python 中,exec 函数用于执行字符串中的代码,但它不返回任何值,如果要获取执行代码后的返回值,可以使用 eval 函数或 exec 结合 locals()globals() 来获取变量的值。

请注意,使用 evalexec 需要小心,尤其是当执行的代码来自不受信任的源时,可能存在安全风险。

使用 eval 获取返回值:

实例

code = '2 + 2'
result = eval(code)
print(result)

在这个例子中,eval 执行字符串 '2 + 2' 并返回结果 4

以上代码执行输出结果为:

4

使用 exec 结合 locals() 获取返回值:

实例

code = 'result = 2 + 2'
local_vars = {}
exec(code, globals(), local_vars)
result = local_vars['result']
print(result)

在这个例子中,exec 执行字符串 'result = 2 + 2',并将结果存储在 local_vars 字典中的 'result' 键中。

以上代码执行输出结果为:

4

使用 exec 结合 globals() 获取返回值:

实例

code = 'result = 2 + 2'
global_vars = {}
exec(code, global_vars)
result = global_vars['result']
print(result)

在这个例子中,exec 执行字符串 'result = 2 + 2',并将结果存储在 global_vars 字典中的 'result' 键中。

以上代码执行输出结果为:

4

Python3 内置函数 Python3 内置函数

AI 思考中...

点我分享笔记

  • 昵称 (必填)
  • 邮箱 (必填)
  • 引用地址

AltStyle によって変換されたページ (->オリジナル) /