Python globals() 関数
globals()これは、Python で現在のグローバルスコープ内の変数辞書を返すために使用される組み込み関数です。
globals()現在のモジュールのすべてのグローバル変数を含む辞書を返します。この辞書には、インポートされたすべてのモジュール、定義された関数、クラス、およびグローバル変数が含まれます。
単語の意味: globals 意为"全局的",表示全局作用域中的变量。
基本構文とパラメータ
構文形式
globals()
パラメータの説明
- パラメータなし
関数の説明
- 戻り値: グローバルスコープの変数を含む辞書を返します。
例
例1: グローバル変数を確認する
例
# いくつかのグローバル変数を定義
global_var = 100
global_list = [1, 2, 3]
import math
import os
# グローバル変数の辞書を取得
g = globals()
print(f"変数の数: {len(g)}")
# 特定の変数を確認
print(f"global_var: {g.get('global_var')}")
print(f"math: {g.get('math')}")
print(f"os: {g.get('os')}")
# 変数が存在するかどうかを確認
print('global_var' in g) # 出力: True
print('unknown' in g) # 出力: False
global_var = 100
global_list = [1, 2, 3]
import math
import os
# グローバル変数の辞書を取得
g = globals()
print(f"変数の数: {len(g)}")
# 特定の変数を確認
print(f"global_var: {g.get('global_var')}")
print(f"math: {g.get('math')}")
print(f"os: {g.get('os')}")
# 変数が存在するかどうかを確認
print('global_var' in g) # 出力: True
print('unknown' in g) # 出力: False
実行結果の予想:
变量数量: ... global_var: 100 math: <module 'math'> os: <module 'os'> True False
コードの解説:
- globals() は現在のモジュールのすべてのグローバル変数を返します。
- インポートされたモジュール、関数、クラスなどを含みます。
例2: グローバル変数を動的に操作する
例
# グローバル変数を動的に作成
globals()['dynamic_var'] = "Hello"
print(dynamic_var) # 出力: Hello
# 変数を一括作成
for i in range(3):
globals()[f'var_{i}'] = i * 10
print(var_0, var_1, var_2) # 出力: 0 10 20
# 関数内で globals() を使用
def test():
g = globals()
g['x'] = 999
print(f"関数内: x = {x}")
test()
print(f"関数外: x = {x}") # 出力: x = 999
globals()['dynamic_var'] = "Hello"
print(dynamic_var) # 出力: Hello
# 変数を一括作成
for i in range(3):
globals()[f'var_{i}'] = i * 10
print(var_0, var_1, var_2) # 出力: 0 10 20
# 関数内で globals() を使用
def test():
g = globals()
g['x'] = 999
print(f"関数内: x = {x}")
test()
print(f"関数外: x = {x}") # 出力: x = 999
実行結果の予想:
Hello 0 10 20 在函数中: x = 999 在函数外: x = 999
グローバル変数を動的に変更できますが、通常は推奨されません。
globals()主にデバッグや動的プログラミングに使用されます。
その他の拡張
Python3 組み込み関数