在Python中,compile()函數可以將字符串形式的代碼編譯為可執行的代碼對象。其語法如下:
compile(source, filename, mode, flags=0, dont_inherit=False, optimize=-1)
其中:
- source:需要編譯的字符串形式的代碼
- filename:代碼的文件名,如果代碼來自一個文件則為文件名,如果代碼來自字符串則為""
- mode:代碼的模式,通常為"exec"(用于執行多行代碼)、“eval”(用于執行單行表達式)、“single”(用于執行單行語句)
- flags:編譯標志,默認為0
- dont_inherit:是否繼承當前作用域的標志,默認為False
- optimize:優化級別,默認為-1(不進行優化)
調用compile()函數后,會返回編譯后的代碼對象,可以使用exec()函數來執行編譯后的代碼對象。compile()函數常用于動態執行字符串形式的代碼。