함수 바깥에 전역 변수를 선언하고 함수 내부에서 그 전역 변수의 값을 수정할 때, global 선언을 하지 않아서 발생하는 오류입니다. 개인적으로 변수의 값을 읽어들이는 때에는 문제가 없었던 것 같습니다.
함수 바깥에 있는 전역 변수를 사용하기 전에는 꼭 함수 내부에서 global 선언 후 사용하도록 합시다.
오류의 정확한 내용은 “이 함수 내부에서 선언해서 생성한 적이 없는데 어떻게 사용하는 거임?” 하고 묻는 겁니다. 코드를 아래처럼 짜면 오류가 발생합니다.
x = 10
def func():
# 아래 주석처럼 전역변수 선언을 해주지 않으면 오류 발생
# global x
x += 1
print(x)
func()
'오류 해결 > 코드' 카테고리의 다른 글
VSC Output 한글 출력 오류 : syntaxerror: non-utf-8 code starting with '\xbf' in file~ (0) | 2024.02.17 |
---|---|
TypeError: bad operand type for unary +: 'str’ (0) | 2022.08.19 |