Python exec() 函式



Python exec() 函式允許動態執行 Python 程式碼。它可以執行包含 Python 語句的字串或已編譯的程式碼物件。通常,此函式用於執行由程式的另一部分生成的程式碼。

與僅接受單個表示式的eval() 函式不同,exec() 函式可以接受單個或多個表示式或一大塊程式碼。

exec()內建函式之一,不需要任何模組。

語法

以下是 Python exec() 函式的語法。

exec(object, globals, locals)

引數

以下是 Python exec() 函式的引數:

  • object − 此引數表示字串或程式碼物件。

  • globals − 此引數指定全域性函式。

  • locals − 此引數指示區域性函式。

返回值

python exec() 函式不返回值。

exec() 函式示例

練習以下示例以瞭解如何在 Python 中使用 exec() 函式。

示例:使用 exec() 執行單個表示式

exec() 函式可用於執行單個表示式。以下是如何使用 Python exec() 函式的示例,我們嘗試執行簡單的print 語句

printStatement = 'print("Tutorialspoint")'
exec(printStatement)

執行上述程式後,將生成以下輸出:

Tutorialspoint

示例:使用 exec() 執行動態程式碼

在此示例中,我們將演示如何使用 exec() 函式執行動態程式碼。這裡,名為“msg”的方法動態地接受引數並列印結果。

printStatement = """
def msg(name):
    print(f"This is, {name}!")
"""
exec(printStatement)
msg("Tutorialspoint")

執行上述程式後,將獲得以下輸出:

This is, Tutorialspoint!

示例:透過向 exec() 提供表示式來更新變數

藉助 exec() 函式,我們可以透過執行算術運算或任何其他方式來修改給定值,如下面的程式碼塊所示。

nums = 15
exec("res = nums + 15")
print("The result after execution:", res)

執行上述程式後,得到以下輸出:

The result after execution: 30

示例:使用 exec() 執行迴圈表示式

我們可以使用 exec() 函式執行任何大小的程式碼塊。在這個例子中,我們正在使用 exec() 函式執行一個for 迴圈

output = "for nums in range(5): print(nums)"
print("The result after execution:")
exec(output)

執行上述程式後,顯示以下輸出:

The result after execution:
0
1
2
3
4
python_built_in_functions.htm
廣告