본문 바로가기
Error/Python

[python에러] UnboundLocalError: local variable 'xxxxx' referenced before assignment

by Rising One★ 2023. 8. 31.
728x90
반응형
SMALL

Python 대표 로고

필요성

" UnboundLocalError: local variable 'xxxxx' referenced before assignment " 에러를 맞닥뜨렸습니다.

위 에러는 전역변수를 지역변수로 호출했기 때문에 발생한 것으로 이를 해결하기 위한 조치를 메모하겠습니다.


접근

 

  1. UnboundLocalError: local variable 'xxxxx' referenced before assignment 에러란?

 

  2. 예제

 

  3. 조치

 


방법


  1. "UnboundLocalError: local variable 'xxxxx' referenced before assignment" 에러란?

파이썬 코드 작업 중, 전역변수를 선언(abc)했고, 이 전역변수를 함수 내부에서는 지역변수로 사용할 때, 값을 변동하고자 하면 위 에러를 발생할 수 있습니다. 전역변수의 값은 한 번 선언되면 변동하기 어렵고, 변동하게 되면 맞물려 있는 여러 부분에 영향을 줄 수 있기 때문입니다.

# 에러발생!

abc = 1

def increase_abc():
    abc += 1
    print(f"abc inside function: {abc}")

abc = increase_abc()
print(f"abc outside function: {abc}")

  2. 조치

 

# 조치 1 : 함수 내에 global 명시!

abc = 1

def increase_abc():
    global abc
    abc += 1
    print(f"abc inside function: {abc}")

abc = increase_abc()
# 조치 2 : return(반환)만을 이용해 결과적으로 값이 변화하게 함

abc = 1

def increase_abc():
    print(f"abc inside function: {abc}")
    return abc + 1

abc = increase_abc()

 


이상으로, Python UnboundLocalError: local variable 'xxxxx' referenced before assignment 

에러를 해결해봤습니다.

추가 질문을 댓글을 달아주시면 감사하겠습니다^^!

오늘도 파이팅입니다! 

728x90
반응형
LIST

댓글