파이썬(Python)/문법

locals(), globals()

끄적끄적아무거나 2020. 11. 23. 07:33
반응형

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