compile() 方法从源(普通字符串、字节字符串或 AST 对象)返回 Python 代码对象。
用法:
compile(source, filename, mode, flags=0, dont_inherit=False, optimize=-1)
compile()
方法用于如果 Python 代码是字符串形式或者是 AST 对象,并且您想将其更改为代码对象。
compile()
方法返回的代码对象稍后可以使用以下方法调用:exec() 和 eval(),它们将执行动态生成的 Python 代码。
参数:
source
- 普通字符串、字节字符串或 AST 对象filename
- 从中读取代码的文件。如果不是从文件中读取的,您可以自己命名mode
- 任何一个exec
或者eval
或者single
.eval
- 只接受一个表达式。exec
- 它可以采用包含 Python 语句、类和函数等的代码块。single
- 如果它由单个交互式语句组成
flags
(可选)和dont_inherit
(可选) - 控制哪些未来语句会影响源代码的编译。默认值:0optimize
(可选)- 编译器的优化级别。默认值 -1。
返回:
compile()
方法返回一个 Python 代码对象。
示例:compile() 如何工作?
codeInString = 'a = 5\nb=6\nsum=a+b\nprint("sum =",sum)'
codeObejct = compile(codeInString, 'sumstring', 'exec')
exec(codeObejct)
输出
sum = 11
这里,source
是普通字符串形式。 filename
是 sumstring
。并且,exec
模式稍后允许使用exec()
方法。
compile()方法将字符串转换为 Python 代码对象。然后使用执行代码对象exec()
方法。
相关用法
- Python compile()用法及代码示例
- Python complex()用法及代码示例
- Python PIL composite()用法及代码示例
- Python codecs.encode()用法及代码示例
- Python string count()用法及代码示例
- Python code.compile_command()用法及代码示例
- Python Wand color_matrix()用法及代码示例
- Python math copysign()用法及代码示例
- Python codeop.compile_command用法及代码示例
- Python PIL copy()用法及代码示例
- Python codecs.decode()用法及代码示例
- Python calendar firstweekday()用法及代码示例
- Python cmath.isclose()用法及代码示例
- Python cmp()用法及代码示例
- Python calendar weekday()用法及代码示例
- Python callable()用法及代码示例
- Python cmath.log10()用法及代码示例
- Python cmath.asinh()用法及代码示例
- Python OpenCV cv2.rectangle()用法及代码示例
- Python Wand charcoal()用法及代码示例
注:本文由纯净天空筛选整理自 Python compile()。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。