반응형
정식에서 할당 오류 전에 참조 됨
Python에서 다음 오류가 발생합니다.
UnboundLocalError: local variable 'total' referenced before assignment
(오류가 발생하는 파일 함수 앞)에서 전역 키워드를 사용하여 'total'을 선언합니다. 그런 다음 프로그램 본문에서 'total'을 사용하는 함수가 호출되기 전에 0으로 지정합니다. 여러 곳에서 0으로 설정해 보았습니다. ),하지만 작동하지 않습니다. 내가 뭘 잘못하고 있는지 보는 사람이 있습니까?
나는 당신이 '글로벌'을 사용하고 있다고 생각합니다. Python 참조를 참조 하십시오 . 전역 변수없이 변수를 선언 한 다음 전역 변수에 액세스 후보 함수 내에서 선언해야합니다 global yourvar
.
#!/usr/bin/python
total
def checkTotal():
global total
total = 0
이 예를 참조하십시오.
#!/usr/bin/env python
total = 0
def doA():
# not accessing global total
total = 10
def doB():
global total
total = total + 1
def checkTotal():
# global total - not required as global is required
# only for assignment - thanks for comment Greg
print total
def main():
doA()
doB()
checkTotal()
if __name__ == '__main__':
main()
전체적으로doA()
수정하지 않기 때문에 11이 아닌 1입니다.
내 시나리오
def example():
cl = [0, 1]
def inner():
#cl = [1, 2] //access this way will throw `reference before assignment`
cl[0] = 1
cl[1] = 2 //these won't
inner()
참고 URL : https://stackoverflow.com/questions/855493/referenced-before-assignment-error-in-python
반응형
'ProgramingTip' 카테고리의 다른 글
오류 : javax.servlet 패키지가 없습니다. (0) | 2020.12.07 |
---|---|
VS Code- 선택한 작업 디렉터리 아래에 새 파일 추가 (0) | 2020.12.07 |
"반환"키보드 버튼의 텍스트 변경 (0) | 2020.12.07 |
Java 메모리에서 모니터링하는 방법은 무엇입니까? (0) | 2020.12.07 |
해당하는 Maven 2 어셈블리 : "시스템"범위의 jar가 포함되지 않음 (0) | 2020.12.07 |