0
문제의 기능이 매우 길기 때문에 요약 해 보겠습니다.언 바운드 로컬 오류가 발생하는 이유는 무엇입니까?
def func1(X = None, Y = None) :
if X :
dostuff
if condition :
Z += 1
if Y :
print Y
func1.Z = 0
def func2(A)
for loop that does stuff and calls func1
내가 이것을 실행하면이 라인 Z + = 1 오류가 있음을 알려줍니다 :
"UnboundLocalError 할당하기 전에 참조 된 지역 변수 'Z'를"나는 모든 언 바운드 현지 오류를 읽었습니다 그리고 내가 이미 찾을 수있는 과제 질문 이전에 추천되었지만 유사한 문제는 보이지 않고 해결책 중 어느 것도 작동하지 않습니다.
Z를 전역으로 설정해야합니까?
아! 나는 몰랐다. 호기심에서 자존심이 생겼어 .Z도 잘 했어? 10 분 안에 답으로 선택하겠습니다. – CamelopardalisRex
@AlexBaldwin : 아니요. 'self'는 함수가 아닙니다. '자기 '는 전혀 여기에 없다. – user2357112
http://pythontutor.com/visualize.html# 여기 파이썬 이름과 값에 대해 좀 더 자세히 알아 보겠습니다. http://nedbatchelder.com/text/names.html은 좋은 설명입니다. –