someStuff = False
def spawn():
print(someStuff)
if(3==4):
someStuff = True
while (someStuff==False):
spawn()
print (someStuff) 코드가 작동하지 않습니다. "UnboundLocalError : 지역 변수 'someStuff'가 할당 전에 참조되었습니다. '라는 메시지가 표시됩니다. 그러나 if 문이 제거되면 작동합니다.python if 문에서 오류가 발생했습니다.
왜이 오류가 있어요에 대한 질문은 : 당신은 파이썬하도록 할 수 있습니다
은 함수에
global someStuff
을 넣어 글로벌 알아? 나는 대답에서 그것을 설명했다. 하지만이 코드는'False'를 인쇄하는 무한 루프에서 당신을 얻습니다 ... – gabe또한 문제는'if' 문이 아니라'spawn'에서'someStuff = True'를 정의하는 부분입니다. 이 정의를 지우면'someStuff'는 전역 변수를 참조합니다. – gabe
가능한 [Python 변수 범위 오류] 중복 (http://stackoverflow.com/questions/370357/python-variable-scope-error) – chepner