Python globals() 函式



Python 的 **globals() 函式** 返回一個字典,表示當前的全域性符號表。它提供了訪問當前作用域中所有全域性變數及其對應值的功能。藉助此功能,我們可以檢索、修改或刪除全域性變數。

在 Python 中,每個程式都有一個符號表,其中包含有關程式中定義的名稱(變數函式、類等)的資訊。符號表由一個字典表示,其中名稱是鍵,關聯的值表示其當前值或引用。

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

語法

Python **globals()** 函式的語法如下所示:

globals()  

引數

Python **globals()** 函式不接受任何引數。

返回值

Python **globals()** 函式返回一個字典,表示全域性符號表。

globals() 函式示例

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

示例:使用 globals() 訪問全域性變數

以下是 Python globals() 函式的一個示例。在這個例子中,我們建立了一個方法,該方法呼叫 globals() 函式來檢索全域性符號表。透過迭代其項,我們可以訪問全域性變數。

nums = 22
def accessMethod():
   globalVar = globals()["nums"]
   print(f"Accessing global number: {globalVar}")

accessMethod()

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

Accessing global number: 22

示例:使用 globals() 修改全域性變數

globals() 函式不僅允許我們檢索全域性變數,還允許我們修改它們的值。在這個例子中,“modifyMethod()”函式使用 globals() 檢索全域性符號表,並透過直接更新字典條目來修改“nums”的值。

nums = 22
def modifyMethod():
   globalVar = globals()["nums"] = 121
   print(f"Modifying global number: {globalVar}")

modifyMethod()

執行上述程式獲得的輸出如下:

Modifying global number: 121

示例:訪問所有預設全域性變數

在下面的示例中,我們使用 globals() 檢查所有預設全域性變數,然後藉助使用者自定義函式顯示它們。

def pritnGlobals():
   for globalVars in globals().keys():
      print(globalVars)

pritnGlobals()

執行上述程式獲得的輸出如下:

__name__
__doc__
__package__
__loader__
__spec__
__annotations__
__builtins__
__file__
__cached__
pritnGlobals

示例:使用 globals() 刪除全域性屬性

藉助 globals() 方法,我們還可以刪除特定的全域性屬性,如下例所示。

numOne = 52
numTwo = 121
def delGlobal():
    del globals()["numTwo"]
    print(f"Is numTwo exist after deletion: {'numTwo' in globals()}")

delGlobal()

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

Is numTwo exist after deletion: False
python_built_in_functions.htm
廣告