首頁 > 後端開發 > Python教學 > Python內建函數——exec

Python內建函數——exec

黄舟
發布: 2017-01-19 16:37:23
原創
1779 人瀏覽過

Python內建函數-exec

xecexec(object[, globals[, locals]])
登入後複製

本函數是執行一段語句或函數。
參數object是一個字串的語句或一個編譯過的語句的物件名稱。
參數globals是全域命名空間,用來指定執行語句時可以存取的全域命名空間;
參數locals是局部命名空間,用來指定執行語句時可以存取的局部作用域的命名空間。
要注意本函數不會回傳任何值,不管函數或語句有任何的回傳值語句,比return或yield語句。
如果參數globals和locals忽略,就會使用呼叫時所處的命名空間。
這兩個參數都要求是字典形式來說明命名空間。
在前面已經學習compile、eval等函數,那麼它們之間有什麼差別呢?
可以簡單地認為它們的區別如下:

compile函数是只编译字符串代码,而不作任何的执行,但它可以编译表达式或语句。
eval函数是**只执行表达式字符串代码,而不执行语句代码。**
x = eval('%d + 6' % x)
exec函数是**只执行语句代码,而不执行表达式代码**,因为它没有任何返回值。
exec('if True: print(6)')
>>> exec('if True: print 100')
100
>>> exec('''
x = 200
if x>100:
    print x+200
''')
400
登入後複製

以上就是Python內建函數-exec的內容,更多相關內容請關注PHP中文網(m.sbmmt.com)!


來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板