使用compile()
函數,我們可以將源代碼轉換為可運行的代碼對象。
**compile (source, file_name, mode, flags=0, d optimize=-1)**#where source can be String,a byte string,or abstract syntax tree
complile()
參數:
編譯函數以源代碼作為主要輸入。其他參數是源代碼的文件名、指示源代碼類型的模式、標誌以及向編譯器指示的 dont _ inherit 和指定優化級別的優化
參數 | 描述 | 必需/可選 |
---|---|---|
來源 | 字元串、位元組字元串或抽象語法樹(AST) | 需要 |
文件名 | 有來源的文件,如果來源不是來自文件,可以給出任何名稱 | 需要 |
方式 | 3 個可能的值- |
eval:如果源是單個表達式
single:如果源是單個交互語句
exec:如果源是一個語句塊 | 需要 |
| 旗幟 | 默認零表示哪個未來語句會影響編譯 | 可選擇的 |
| 其中 _inherit | 默認值為假,表示哪個未來語句會影響編譯 | 可選擇的 |
| 使最優化 | 編譯器的優化級別,默認值-1 | 可選擇的 |
編譯()返回值
根據傳遞的參數,源代碼將被轉換為 python 代碼對象。
| 投入 | 返回值 |
| Python 源代碼 | Python 代碼對象 |
Python 中的編譯()
方法示例
示例 1:作為源代碼的代碼塊
pythonSource = 'n1 = 10\n n2=20\nsum=n1 + n2 \n print("sum =",sum)' pyth pythonSource,'randomName','exec')
exec(pythonCodeObj)
輸出:
sum = 30
示例 2:作為源的單個語句
pythonSource = 'print("Hi , I am a single statement)' pyth pythonSource,'randomName','eval')
exec(pythonCodeObj)
輸出:
Hi I am a single statement
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/283438.html