하는 것의 차이점은 무엇입니까?
m={}
i='a'
def change():
m['a'] = i
i = 'b'
속성 오류가 발생합니다.
>>> change()
UnboundLocalError : 할당 전에 참조 된 지역 변수 'i'
과:
m={}
i='a'
def change():
m['a'] = i
오류없이 평가됩니다.
>>> change() >>> m {'a': 'a'}
(마지막으로이 질문에 대한 질문입니다. 질문에 "노란색 배경"을 사용하는 것이 적절한시기는 언제입니까?)
이것은 문서 에서 자세히 답변됩니다 .
이는 범위의 변수에 할당 할 때 해당 변수가 해당 범위에 대해 로컬이되고 외부 범위에서 비슷한 이름의 변수를 숨기기 때문입니다. foo의 마지막 문은 x에 새 값을 할당하므로 컴파일러는이를 지역 변수로 인식합니다. 결과적으로 이전 print (x)가 초기화되지 않은 지역 변수를 인쇄하려고 시도하고 오류가 발생합니다.
노란색 배경은 문체이지만 일반적으로 어딘가의 인용문에 사용되지만 본문이나 텍스트 또는 코드에서 해당 텍스트를 분리하려는 어떤 이유로도 사용할 수 있습니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다