모듈은 실행의 어떤 지점에서 정의 된 이름과 같이 해당 컨텍스트를 추적하기위한 사전을 보유합니다. 이 사전은 module
을 가져온 경우 vars(module)
(또는 module.__dict__
)를 통해 액세스, 또는 모듈 자체에 locals
내장 함수를 호출하여 할 수 있습니다지역 사전이 언제 설정됩니까?
업데이트하고 현재 지역 심볼 테이블을 나타내는 사전을 반환합니다.
하지만 기능에서 지역 사전에 액세스하려했을 때 혼란 스러웠습니다. 스크립트가 독점적으로 다음을 포함하는 경우
def list_locals():
print(locals())
list_locals()
그러나 다른 한편으로
는, 출력이__name__
,
__doc__
을 포함, 예상되는 사전이고, 다른 모듈 : 만 다음을 포함하는 스크립트의 출력은 빈 사전입니다 수준 변수 :
print(locals())
그렇다면 지역 사전의 내용은 언제 설정됩니까? 또한 locals
함수의 정의에서 "업데이트"의 의미는 무엇입니까?
모듈 수준에서'print (locals() is globals())' –
@Chris_Rands 그래, 그건 내 혼란의 일부였다. –