반응형
UnboundLocalError: local variable 변수이름 referenced before assignment 발생!
원인 : for, while, if 안에서 선언된 변수를 바깥에서 쓸려고 할 때 생기는 문제
if len(old_rank) == 0 :
rank_change_str = "●"
else :
rank_change = old_rank[code] - self.new_rank[code]
rank_change_str = ""
if(rank_change > 0) :
rank_change_str = "▲" + str(abs(rank_change))
elif rank_change < 0 :
rank_change_str = "▼" + str(abs(rank_change))
else :
rank_change_str = "●"
if abs(rank_change) > 21 : ###여기서 문제 발생
speed_idx+=1
해결 : 위 코드를 보면 rank_change라는 변수가 if문 바깥에서 선언되어야만 아래에서 호출할 때 문제가 없어진다.
그래서 맨 위에 rank_change라는 변수를 선언하면 이곳에 나타난 모든 조건문에서 문제없이 사용 가능하다.
rank_change = 0 ### 이곳에서 모든 조건문에서 문제없이 사용하도록 선언해주면 해결완료
if len(old_rank) == 0 :
rank_change_str = "●"
else :
rank_change = old_rank[code] - self.new_rank[code]
rank_change_str = ""
if(rank_change > 0) :
rank_change_str = "▲" + str(abs(rank_change))
elif rank_change < 0 :
rank_change_str = "▼" + str(abs(rank_change))
else :
rank_change_str = "●"
if abs(rank_change) > 21 : ###여기서 문제 발생=>문제없어짐
speed_idx+=1
반응형
'PYTHON' 카테고리의 다른 글
[PyCharm] pip없이도 모듈 갖고오는 방법 (0) | 2021.09.08 |
---|---|
[파이썬] 윈도우에서 pip 다운받고 pip실행해보기 (0) | 2021.09.08 |
python - 클래스 - 생성자, 비교, 더하기 (0) | 2021.09.03 |
python 클래스 - 메쏘드, 클래스 변수 (0) | 2021.09.03 |
python - 클래스(class)에 대해 알아보자(1) - 정의 및 기본 구조 (0) | 2021.09.03 |