exec() 函數在 Python 中用于執行存儲在字符串或對象代碼中的 Python 代碼。這個函數非常強大,但也存在一定的安全風險,因為它可以執行任意的 Python 代碼。在實際項目中,應謹慎使用 exec()。
以下是 exec() 函數的基本用法:
code_in_string = "print('Hello, World!')"
exec(code_in_string)
在這個例子中,我們創建了一個包含簡單打印語句的字符串,然后使用 exec() 函數執行了它。輸出結果將是:
Hello, World!
你還可以將代碼作為參數傳遞給 exec() 函數:
def my_function():
print("Hello from my_function!")
code_in_string = "my_function()"
exec(code_in_string)
這將輸出:
Hello from my_function!
需要注意的是,exec() 函數沒有返回值。如果你需要執行代碼并獲取結果,可以將代碼寫入一個函數,然后調用該函數。例如:
def my_function():
x = 1 + 2
return x
code_in_string = "my_function()"
result = exec(code_in_string)
print(result) # 輸出:3
然而,在實際應用中,建議使用 eval() 函數來計算表達式的值,因為它更安全且易于使用。例如:
x = 1 + 2
result = eval("x")
print(result) # 輸出:3