ホームページ >バックエンド開発 >Python チュートリアル >Python でローカル変数を動的に設定してアクセスするにはどうすればよいですか?

Python でローカル変数を動的に設定してアクセスするにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-12-18 22:31:15529ブラウズ

How Can I Dynamically Set and Access Local Variables in Python?

Python で動的に設定されたローカル変数にアクセスする

これまでの提案にもかかわらず、locals() によるローカル変数の直接変更は信頼性が低く、未定義です。代わりに、動的ローカル変数操作を実現するために、いくつかの実用的なアプローチを採用できます。

辞書操作

辞書を利用して動的ローカル変数を割り当て、アクセスします。

d = {}
d['xyz'] = 42
print(d['xyz'])

オブジェクト属性

オブジェクトに属性を設定して動的ローカル変数を作成します:

class C: pass

obj = C()
setattr(obj, 'xyz', 42)
print(obj.xyz)

注:

関数以外での変数へのアクセス名前空間 (モジュール、クラス定義、インスタンス) には通常、辞書検索が含まれます。関数ローカルは速度を最適化することができ、関数内で locals() を直接変更することは通常不可能です。

IronPython 例外

IronPython では、明示的に locals() を呼び出します。 ) ローカル変数を辞書として返します。関数内で別の名前をローカルにバインドすると、バインディング スコープのローカル変数へのアクセスが許可されます。

結論

辞書またはオブジェクト属性を使用すると、動的に設定するための信頼できる方法が提供されます。 Pythonのローカル変数。予期しない動作を防ぐために、locals() の直接変更に依存することは避けてください。

以上がPython でローカル変数を動的に設定してアクセスするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。