아래와 같은 코드가 있을 때,
total = 0
def add_total(n):
total += n
add_total(1)
add_total(10)
print(total)
에러가 발생한다.
왜냐하면 이 코드가 실행되면 먼저 def 로 정의된 함수가 먼저 실행이 되는데
total 이라는 변수는 아직 정의가 되지 않은 상태에서 참조 되었기 때문이다.
total 이라는 변수가 위쪽에 위치하기 때문에 global variable 로 먼저 선언되어 있다고 생각할 수 있지만 실행은 def 가 먼저 되기 때문에 에러가 발생한다.
댓글 없음:
댓글 쓰기