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)는 테스트 인스턴스의 dict 속성을 반환하여 다음에 대한 액세스를 허용합니다. 'a', 'b', 'c'와 같은 속성입니다.
위 내용은 Python에서 globals(), locals() 및 vars()는 어떻게 다릅니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!