반응형
할당 전에 참조된 로컬(?) 변수
test1 = 0
def test_func():
test1 += 1
test_func()
다음 오류가 발생했습니다.
UnboundLocalError: 로컬 변수 'test1'이(가) 할당 전에 참조되었습니다.
오류가 발생했습니다.'test1'
로컬 변수이지만 저는 이 변수가 글로벌 변수라고 생각했습니다.
그렇다면 글로벌 또는 로컬이며 글로벌을 통과하지 않고 이 오류를 해결하는 방법은 무엇입니까?test1
의 주장으로서test_func
?
당신이 수정하기 위해test1
함수 내부에서 정의해야 합니다.test1
글로벌 변수로, 예:
test1 = 0
def test_func():
global test1
test1 += 1
test_func()
그러나 글로벌 변수를 읽기만 하면 되는 경우 키워드를 사용하지 않고 인쇄할 수 있습니다.global
이와 같이:
test1 = 0
def test_func():
print(test1)
test_func()
그러나 글로벌 변수를 수정해야 할 때마다 키워드를 사용해야 합니다.global
.
최상의 솔루션:사용 안 함global
s
>>> test1 = 0
>>> def test_func(x):
return x + 1
>>> test1 = test_func(test1)
>>> test1
1
test1이 글로벌인지 지정해야 합니다.
test1 = 0
def test_func():
global test1
test1 += 1
test_func()
언급URL : https://stackoverflow.com/questions/11904981/local-variable-referenced-before-assignment
반응형
'source' 카테고리의 다른 글
pg_dump를 사용하여 데이터베이스 내의 한 테이블에서만 삽입문 가져오기 (0) | 2023.06.01 |
---|---|
큰따옴표 대 작은따옴표 (0) | 2023.06.01 |
CSS 100% 높이(패딩/마진 포함) (0) | 2023.06.01 |
안드로이드에서 가로 모드를 비활성화하려면 어떻게 해야 합니까? (0) | 2023.06.01 |
SQL Azure 데이터베이스의 이름을 바꾸시겠습니까? (0) | 2023.06.01 |