Python 組み込み関数 globals()
現在のモジュール名前空間を表す辞書を返します。関数内のコードの場合、これは関数が定義されたときに設定され、関数がどこから呼び出されても同じままです。
導入
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