locals() 函數返回一個包含當前作用域中所有局部變量和它們的值的字典。
它可以在函數內部調用,返回該函數內部的局部變量及其值。也可以在全局作用域內調用,返回全局作用域中的所有變量及其值。
下面是一些常見的用法:
def my_function():
x = 10
y = 'Hello'
print(locals())
my_function()
# 輸出:{'x': 10, 'y': 'Hello'}
x = 10
y = 'Hello'
print(locals())
# 輸出:{'x': 10, 'y': 'Hello'}
需要注意的是,locals() 函數返回的字典是只讀的,對它的修改不會影響實際的變量。
此外,locals() 函數還可以用于動態創建變量。可以將 locals() 的返回值賦給一個變量,然后使用該變量進行變量的創建和操作。
variables = locals()
variables['z'] = 20
print(z)
# 輸出:20
然而,這種用法并不推薦,因為它會讓代碼難以理解和維護。如果需要動態創建變量,建議使用字典或其他數據結構來存儲和操作。