반응형
locals 와 global의 현재 namespace (전역, 지역, builtin) 을 딕션너리(dict)으로 정리해서 넣어 준다.
둘의 차이는 locals은 말그대로 locals()가 실행되어지는 함수내의 지역 namespace 들을 정리해서 넣어주고 globals는 전역, 지역, builtin 정보 모두 dict 형태로 정리해 준다.
아래 예제를 통해 이해해 보자.
a_var = range(2)
def locals_test():
b_var = 3
c_var = "hi"
d_var = locals()
print(d_var)
locals_test()
e_var = globals()
print(e_var)
결과>>
{'b_var': 3, 'c_var': 'hi'}
{'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <_frozen_importlib_external.SourceFileLoader object at 0x02BBAF40>, '__spec__': None, '__annotations__': {}, '__builtins__': <module 'builtins' (built-in)>, '__file__': 'd:\\gas_detector\\uart_comms\\test.py', '__cached__': None, 'a_var': range(0, 2), 'locals_test': <function locals_test at 0x02D17FA0>, 'e_var': {...}}
반응형
'파이썬(Python) > 문법' 카테고리의 다른 글
별표하나 별표두개 (*arg, **kwarg) (0) | 2020.11.24 |
---|---|
파이썬 변수는 객체이다 (0) | 2020.11.23 |
enumerate, index값 불러오기 (0) | 2020.11.21 |
선언 전 메모리절약, range, getsizeof (0) | 2020.11.20 |
yield, next 란 (0) | 2020.11.20 |