Python の locals 関数の使い方は?
locals() 関数は、現在のスコープ内のすべてのローカル変数とその値を含む辞書を返します。
関数の内部から呼び出すには、関数の内部のローカル変数とその値を返します。グローバルスコープから呼び出す場合、グローバルスコープ内のすべての変数とその値を返します。
以下に一般的に使われている用例を紹介します。
- 関数内の locals() 関数を使用して、現在のすべてのローカル変数とその値を取得できます。
def my_function():
x = 10
y = 'Hello'
print(locals())
my_function()
# 输出:{'x': 10, 'y': 'Hello'}
- globals() 関数は、グローバルスコープ内のすべての変数とその値を取得します。
x = 10
y = 'Hello'
print(locals())
# 输出:{'x': 10, 'y': 'Hello'}
locals() 関数は読み取り専用の辞書を返します。この辞書を編集しても、実際の変数には影響しません。
さらに、locals()関数は動的変数作成にも使えます。locals()の返り値を変数に代入することで、その変数を通して変数の作成・操作を行うことが可能です。
variables = locals()
variables['z'] = 20
print(z)
# 输出:20
それでもこの使用法は動的に変数を生成する必要がある場合、辞書や他のデータ構造を用いて格納・操作する事を推奨します。