본문 바로가기
컴퓨터/Python

[파이썬] 파이썬 에러 UnboundLocalError: local variable referenced before assignment

by HanJoohyun 2017. 11. 2.
반응형


 

 

안녕하세요 한주현입니다.

 

오늘은 파이썬에서 흔히 볼 수 있는 오류인,

 

UnboundLocalError: local variable referenced before assignment

 

에 대하여 알아보겠습니다.


 

 문제 상황

 

UnboundLocalError: local variable referenced before assignment


아래와 같은 파이썬 스크립트를 작성하고 실행을 시켜보니


1
2
3
4
5
6
7
= 10
 
def func():
    x += 1
    print(x)
 
func()
cs


UnboundLocalError: local variable 'x' referenced before assignment

라고 오류가 납니다..


1
2
3
4
5
6
Traceback (most recent call last):
  File "unbound.py", line 7in <module>
    func()
  File "unbound.py", line 4in func
    x += 1
UnboundLocalError: local variable 'x' referenced before assignment
cs



함수 밖에 있는 x를 전역 변수로 두고 


함수 안에서 전역변수를 가져와 연산을 하면 될 것 같은데..


왜 오류가 났을까요?

 

 



 해결 방법

 

UnboundLocalError: local variable 'x' referenced before assignment

1
2
3
4
5
6
7
8
= 10
 
def func():
    global x 
    x += 1
    print(x)
 
func()
cs



전역 변수를 지역 범위 (local scope)에서 사용하고 싶으시면 지역 영역에서 global 표현을 사용합니다


이렇게 하면 지역 범위에서 전역 변수를 사용할 수 있게 됩니다.



참고 문헌

https://docs.python.org/3/reference/simple_stmts.html#the-global-statement


여러분들께 도움이 되셨으면 좋겠네요

그럼 다음 시간에 만나요!

 

 

 


반응형

댓글