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()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。