함수 바깥에 전역 변수를 선언하고 함수 내부에서 그 전역 변수의 값을 수정할 때, global 선언을 하지 않아서 발생하는 오류입니다. 개인적으로 변수의 값을 읽어들이는 때에는 문제가 없었던 것 같습니다.

 

함수 바깥에 있는 전역 변수를 사용하기 전에는 꼭 함수 내부에서 global 선언 후 사용하도록 합시다.

 

오류의 정확한 내용은 “이 함수 내부에서 선언해서 생성한 적이 없는데 어떻게 사용하는 거임?” 하고 묻는 겁니다. 코드를 아래처럼 짜면 오류가 발생합니다.

 

x = 10
def func():
	# 아래 주석처럼 전역변수 선언을 해주지 않으면 오류 발생
	# global x
	x += 1
	print(x)

func()