locals
locals()는 로컬 심볼 테이블 딕셔너리를 가져오는 메소드로 업데이트 또한 가능하다. 여기서는 딕셔너리를 가져오는 부분에 집중해 살펴보자면, 로컬에 선언된 모든 변수를 조회할 수 있는 강력한 명령이므로 디버깅에 도움이 된다. 변수명을 일일이 찾아낼 필요 없이 로컬 스코프에 정의된 모든 변수를 출력하기 떄문에 편리하다.
import pprint
pprint.pprint(locals())
"""
{'__annotations__': {},
'__builtins__': <module 'builtins' (built-in)>,
'__cached__': None,
'__doc__': None,
'__file__': '3.py',
'__loader__': <_frozen_importlib_external.SourceFileLoader object at 0x000002802F6F3550>,
'__name__': '__main__',
'__package__': None,
'__spec__': None,
'fruit': 'Apple',
'idx': 1,
'pprint': <module 'pprint' from 'C:\\Users\\pc\\anaconda3\\lib\\pprint.py'>,
'sys': <module 'sys' (built-in)>}
"""
출처 : 파이썬 알고리즘 인터뷰 (글 : 박상길 그림 : 정진호)