Python 基礎(chǔ)教程

Python 流程控制

Python 函數(shù)

Python 數(shù)據(jù)類型

Python 文件操作

Python 對象和類

Python 日期和時間

Python 高級知識

Python 參考手冊

Python compile() 使用方法及示例

Python 內(nèi)置函數(shù)

compile()方法從源代碼返回Python代碼對象(普通字符串,字節(jié)字符串或AST對象)。

compile()的語法為:

compile(source, filename, mode, flags=0, dont_inherit=False, optimize=-1)

如果Python代碼為字符串形式或為AST對象,并且您想將其更改為代碼對象,則使用compile()方法。

稍后可以使用諸如exec()eval()之類的方法來調(diào)用compile()方法返回的代碼對象,這些方法 將執(zhí)行動態(tài)生成的Python代碼。

compile()參數(shù)

  • source -普通字符串,字節(jié)字符串或AST對象

  • filename-從中讀取代碼的文件。如果不是從文件中讀取,則可以自己命名

  • mode- exec或eval或single。

    • eval -僅接受一個表達式。

    • exec -它可以使用具有Python語句,類和函數(shù)等的代碼塊。

    • single -如果包含單個交互式語句

  • flags(可選)和dont_inherit(可選)-指定將來的哪些語句會影響源代碼的編譯。默認值:0

  • optimize(可選)-編譯器的優(yōu)化級別。默認值-1。

compile()返回值

compile()方法返回一個Python代碼對象。

示例:compile()如何工作?

codeInString = 'a = 5\nb=6\nsum=a+b\nprint("sum =",sum)'
codeObejct = compile(codeInString, 'sumstring', 'exec')

exec(codeObejct)

運行該程序時,輸出為:

sum = 11

在這里,源(source)采用普通字符串形式。該文件名sumstring。并且,exec模式稍后允許使用exec()方法。

compile()方法將字符串轉(zhuǎn)換為Python代碼對象。然后使用exec()方法執(zhí)行代碼對象。

Python 內(nèi)置函數(shù)

丰满人妻一级特黄a大片,午夜无码免费福利一级,欧美亚洲精品在线,国产婷婷成人久久Av免费高清