python 범위 규칙, 할당, assignment, UnboundLocalError: local variable referenced before assignment
파이썬 namespace 를 공부하다 보면, unboundlocalerror 때문에 혼란이 오게 되는 경우가 있다. 이 포스팅은 그러한 사람들을 위한 포스팅이다. 먼저, 파이썬 네임스페이스에 대한 기본적인 이미지는 아래와 같다. 보통 파이썬에서 네임스페이스는 3가지가 있으며, 지역 네임스페이스, 전역 네임스이스, 빌트인 네임스페이스 가 있고, 위와 같은 관계이다. 그리고 아래 코드같은 예제를 보면서 알게 된다. # case1 z = 100 def func_3(x,y): print(locals()) a = x + y + z print("func_1 z", z, a) func_3(100,100) 아하! "전역 변수를 참조하여 지역 네임스페이스에 없을 경우, 전역 네임스페이스를 참조해서 처리하는구나!" 그러다..