Python locals() 関数
locals()Python で現在のスコープのローカル変数辞書を返すために使用される組み込み関数です。
locals()現在のローカルスコープ内のすべての変数を含む辞書を返します。この辞書の内容は、関数の現在の実行環境のスナップショットです。
単語の解説: locals 意为"本地的",表示局部作用域中的变量。
基本構文とパラメータ
構文形式
locals()
パラメータの説明
- パラメータなし
関数の説明
- 戻り値:現在のローカルスコープの変数を含む辞書を返します。
- 注意:モジュールレベルで呼び出した場合、globals() の内容を返します。
例
例1:関数内での使用
例
def my_function():
a = 10
b = "hello"
c = [1, 2, 3]
# ローカル変数を取得
local_vars = locals()
print(local_vars)
# 出力: {'a': 10, 'b': 'hello', 'c': [1, 2, 3], ...}
# 特定の変数にアクセス
print(local_vars['a']) # 出力: 10
my_function()
a = 10
b = "hello"
c = [1, 2, 3]
# ローカル変数を取得
local_vars = locals()
print(local_vars)
# 出力: {'a': 10, 'b': 'hello', 'c': [1, 2, 3], ...}
# 特定の変数にアクセス
print(local_vars['a']) # 出力: 10
my_function()
期待される実行結果:
{'a': 10, 'b': 'hello', 'c': [1, 2, 3], ...}
10
コードの解説:
- locals() は関数内のローカル変数を返します。
例2:動的変数操作
例
def test():
x = 1
y = 2
# ローカル変数を確認
vars = locals()
print(f"ローカル変数: {vars}")
# 新しい変数を追加(推奨されません)
vars['z'] = 3
print(f"追加後: {z}") # アクセスはできますが、これに依存しないでください
test()
x = 1
y = 2
# ローカル変数を確認
vars = locals()
print(f"ローカル変数: {vars}")
# 新しい変数を追加(推奨されません)
vars['z'] = 3
print(f"追加後: {z}") # アクセスはできますが、これに依存しないでください
test()
実行結果:
locals() は辞書のコピーを返すため、それを変更しても実際のローカル変数は変わりません。
例3:モジュールレベル
例
# モジュールレベルでは、locals() は globals() と同等です
global_var = 100
# グローバル変数を確認
print(len(locals())) # すべてのグローバル変数を含む
print('global_var' in locals()) # 出力: True
# 組み込み関数とインポートされたモジュールを含む
import math
print('math' in locals()) # 出力: True
global_var = 100
# グローバル変数を確認
print(len(locals())) # すべてのグローバル変数を含む
print('global_var' in locals()) # 出力: True
# 組み込み関数とインポートされたモジュールを含む
import math
print('math' in locals()) # 出力: True
実行結果:
モジュールレベルで使用する場合、locals() と globals() は同じ内容を返します。
locals()主にデバッグと動的コード解析に使用されます。
その他の拡張