반응형
할당 전에 참조 된 로컬 (?) 변수
중복 가능성 :
할당
전에 참조 된 로컬 변수 Python 3 : UnboundLocalError : 할당 전에 참조 된 로컬 변수
test1 = 0
def testFunc():
test1 += 1
testFunc()
다음과 같은 오류가 발생합니다.
UnboundLocalError : 할당 전에 참조 된 지역 변수 'test1'.
오류는 그것이 'test1'
지역 변수 라고 말하지만 이 변수는 전역이라고 생각했습니다.
그래서 그것은 글로벌 또는 로컬이며 글로벌 test1
을 인수로 전달하지 않고이 오류를 해결하는 방법 은 testFunc
무엇입니까?
test1
함수 내 에서 수정 하려면 test1
전역 변수로 정의해야합니다 . 예를 들면 다음과 같습니다.
test1 = 0
def testFunc():
global test1
test1 += 1
testFunc()
그러나 전역 변수 만 읽어야하는 경우 다음 global
과 같이 키워드를 사용하지 않고 인쇄 할 수 있습니다 .
test1 = 0
def testFunc():
print test1
testFunc()
그러나 전역 변수를 수정해야 할 때마다 키워드를 사용해야합니다 global
.
최상의 솔루션 : global
s를 사용하지 마십시오.
>>> test1 = 0
>>> def test_func(x):
return x + 1
>>> test1 = test_func(test1)
>>> test1
1
test1이 전역임을 지정해야합니다.
test1 = 0
def testFunc():
global test1
test1 += 1
testFunc()
참고 URL : https://stackoverflow.com/questions/11904981/local-variable-referenced-before-assignment
반응형
'Programing' 카테고리의 다른 글
JavaScript를 사용하여 데이터 속성 설정 (0) | 2020.08.14 |
---|---|
목록 항목을 인쇄하는 Pythonic 방법 (0) | 2020.08.14 |
작업 복사본을 재설정하는 Subversion 명령이 있습니까? (0) | 2020.08.14 |
JUnit을 사용하여 환경 변수에 의존하는 코드를 테스트하는 방법은 무엇입니까? (0) | 2020.08.13 |
콘솔에서 시스템 쉘을 실행하기위한 Eclipse 플러그인이 있습니까? (0) | 2020.08.13 |