우선 코드를 보시죠 def func(): if 10 > m: cnt += 1 m = 5 cnt = 0 func() print(cnt) 실행될까요? 안 됩니다. 오류가 납니다. UnboundLocalError: local variable 'cnt' referenced before assignment 라는 오류가 납니다. 아니 m은 잘만 참조하면서 cnt는 왜 참조 못하지? 라는 생각이 드실겁니다. 결론부터 말하자면 '참조'는 가능하지만 '변경'은 불가능합니다. 사소하지만 매우 중요한 지식입니다. 1. namespace를 나눈 이유 전역 namespace의 변수를 지역 namespace로 가져와서 변경을 못하게 하는 이유는 간단합니다. 그렇게 지역과 전역을 혼동되게 사용한다면 굳이 namespace를 나눈 ..