Python 組み込み関数 globals()

Python 3 ドキュメントより

現在のモジュール名前空間を表す辞書を返します。関数内のコードの場合、これは関数が定義されたときに設定され、関数がどこから呼び出されても同じままです。

導入

Python のglobals()関数は、現在のグローバルシンボルテーブルを表す辞書を返します。これには、現在のスコープ内のすべてのグローバル変数、関数、その他のオブジェクトが含まれます。

グローバル名前空間を検査したり、文字列名でグローバル変数に動的にアクセスしたりする場合に役立ちます。

# グローバル変数を定義
global_var = "I am global"

def my_function():
    # globals() を使用してグローバル変数にアクセス
    global_dict = globals()
    print(global_dict["global_var"])

    # グローバル変数を変更
    global_dict["global_var"] = "Modified global"

my_function()
print(global_var)
I am global
Modified global

また、関数内からglobals()を使用して新しいグローバル変数を作成することもできます。

def create_global():
    globals()["new_global"] = "This was created dynamically"

create_global()
print(new_global)
This was created dynamically

関連リンク