Python locals() 関数

Python3 組み込み関数


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], ...}
10

コードの解説:

  1. locals() は関数内のローカル変数を返します。

例2:動的変数操作

例

def 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

実行結果:

モジュールレベルで使用する場合、locals() と globals() は同じ内容を返します。

locals()主にデバッグと動的コード解析に使用されます。


Python3 組み込み関数


その他の拡張