본문 바로가기
Problem Solving/Troubleshooting

Python ) UnboundLocalError: cannot access local variable where it is not associated with a value

by nyum76 2026. 1. 8.

UnboundLocalError 는 함수 내에서 지역 변수를 사용하려고 하는데, 아직 그 변수에 값이 할당되지 않았을 때 발생한다.

 

 

위 코드 상황으로 보면

라인 9 : 파이썬은 함수 안에 sum_of_price = ... 이라는 코드를 보고 해당 변수가 함수 안에서만 쓰는 지역변수로 생각함

- 실행 : sum_of_price + i 를 계산하려는데 지역변수 sum_of_price 안에 아직 아무 값도 없음 ( 전역변수인 라인 5는 무시됨 )

- 결과 : "지역 변수 sum_of_price 가 할당되기도 전에 참조되었다" 라는 에러 발생

 

전역 변수를 안에서 사용하려면 값을 수정하는 것은 안되고 ( 변수명 = ... 을 쓰면 지역변수로 생각함 ) 

전역 변수를 그대로 가져와 사용하는 것만 된다. ( 라인 3의 전역 변수를 가져온 라인 10의 num_of_ppl 처럼 )

 

따라서 위 코드를 의도한대로 실행하고 싶으면 다음과 같이 바꾸면 된다.

 

결과