Python 3.1 快速導覽 - 內建函數 compile()

內建函數 (function) compile() ,將參數 (parameter) source 字串編譯為可執行 code 物件

函數描述
compile(source, filename, mode, flags=0, dont_inherit=False)將 source 字串編譯為可執行物件


filename 為對應的檔案名稱字串,一般用空字串即可, mode 有三種,分別是單一陳述的 "single" ,複合陳述的 "exec" ,運算式的 "eval" ,因此執行編譯後的 code 物件,需以另外兩個內建函數 exec() 與 eval() 呼叫。


以下程式示範 "exec"
print("start")
s = "for i in range(8): print(i)"
t = compile(s, "", "exec")
exec(t)
print("end")

# 《程式語言教學誌》的範例程式
# http://pydoing.blogspot.com/
# 檔名:compile1.py
# 功能:示範 Python 程式 
# 作者:張凱慶
# 時間:西元 2010 年 12 月


執行結果如下



以下程式示範 "eval"
print("start")
s = "1 + 1"
t = compile(s, "", "eval")
print(eval(t))
print("end")

# 《程式語言教學誌》的範例程式
# http://pydoing.blogspot.com/
# 檔名:compile2.py
# 功能:示範 Python 程式 
# 作者:張凱慶
# 時間:西元 2010 年 12 月


執行結果如下



以下程式示範 "single"
print("start")
s = "print('hello')"
t = compile(s, "", "single")
eval(t)
print("end")

# 《程式語言教學誌》的範例程式
# http://pydoing.blogspot.com/
# 檔名:compile3.py
# 功能:示範 Python 程式 
# 作者:張凱慶
# 時間:西元 2010 年 12 月


執行結果如下



中英文術語對照
函數function
參數parameter


內建函數




沒有留言: