globals()、locals()、vars() のニュアンスを探る
Python には、現在の名前空間: globals()、locals()、および vars()。それぞれは、特定の情報を含む辞書を返します。
globals()
globals() は、一貫して現在のモジュールの名前空間の辞書を返します。これにより、モジュール内でグローバルに定義されたすべての名前へのアクセスが提供されます。
locals()
locals() は動的であり、その動作はスコープによって異なります。
たとえば、関数内:
def example(): x = 1 l = locals() l['x'] = 3 print(x) # Outputs 1, not 3
例:
class Test: a = 'one' huh = locals() b = 'two' huh['c'] = 'three' print(huh) # Outputs {'a': 'one', 'b': 'two', 'c': 'three', 'huh': {...}}
vars()
vars() はオブジェクトを引数として受け取り、その dict 属性を返します。通常、オブジェクトの dict にはその属性データが保存されます。したがって、オブジェクトを vars() に提供すると、その属性にアクセスできるようになります。
class Test: a = 'one' b = 'two' huh = vars(self) c = 'three' huh['d'] = 'four'
この例では、vars(self) は Test インスタンスの dict 属性を返し、 'a'、'b'、'c' などの属性。
以上がPython における globals()、locals()、vars() の違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。