Python에서 할당 전에 참조되는 로컬 변수
Muhammad Waiz Khan
2021년6월22일
이 자습서에서는local variable referenced before assignment
오류가 발생하는 이유와 해결 방법을 설명합니다.
local variable referenced before assignment
는 함수 본문 내에서 할당 전에 일부 변수가 참조 될 때 발생합니다. 이 오류는 일반적으로 코드가 전역 변수에 액세스하려고 할 때 발생합니다. 전역 변수는 전역 범위를 가지며 프로그램 내의 어느 곳에서나 액세스 할 수 있으므로 일반적으로 사용자는 함수 내에서 전역 변수를 사용하려고합니다.
파이썬에서는 변수를 사용하기 전에 선언하거나 초기화 할 필요가 없습니다. 변수는 기본적으로 항상 로컬로 간주됩니다. 따라서 프로그램이 전역 변수를 지정하지 않고 함수 내의 전역 변수에 액세스하려고하면 참조되는 변수가 지역 변수로 간주되므로 코드는할당 전에 참조 된 지역 변수
오류를 반환합니다.
파이썬에서local variable referenced before assignment
오류의 해결책
Python에서global
키워드를 사용하여 변수를 전역으로 선언 할 수 있습니다. 변수가 전역으로 선언되면 프로그램은 함수 내에서 변수에 액세스 할 수 있으며 오류가 발생하지 않습니다.
아래 예제 코드는 프로그램이 “할당 전에 참조 된 로컬 변수"오류로 끝나는 코드 시나리오를 보여줍니다.
count = 10
def myfunc():
count = count + 1
print(count)
myfunc()
출력:
UnboundLocalError: local variable 'count' referenced before assignment
이 오류를 해결하려면global
키워드를 사용하여count
변수를 전역으로 선언해야합니다. 아래 예제 코드는 위 코드 시나리오에서global
키워드를 사용하여 오류를 해결하는 방법을 보여줍니다.
count = 10
def myfunc():
global count
count = count + 1
print(count)
myfunc()
출력:
11