이 문서의 예에서는 Python 전역 변수의 사용법을 설명합니다. 참고하실 수 있도록 모든 사람과 공유하세요. 자세한 내용은 다음과 같습니다.
전역 변수는 매개변수 전달 정신을 따르지 않기 때문에 상수를 정의하지 않는 이상 거의 사용하지 않습니다. 오늘 동료가 전역 변수에 관해 질문을 했고, 그렇게 할 수 있는 방법이 있다는 것을 알게 되었습니다.
절차는 대략 다음과 같습니다.
CONSTANT = 0 def modifyConstant() : print CONSTANT CONSTANT += 1 return if __name__ == '__main__' : modifyConstant() print CONSTANT
실행 결과는 다음과 같습니다.
UnboundLocalError: 할당 전에 참조된 지역 변수 'CONSTANT'
modifyConstant 함수에서 글로벌 변수가 로컬 변수가 되는 것 같은데, 글로벌 변수가 적용되지 않는 것 같나요?
몇 가지 사항을 변경하세요.
CONSTANT = 0 def modifyConstant() : print CONSTANT #CONSTANT += 1 return if __name__ == '__main__' : modifyConstant() print CONSTANT
정상적으로 실행되는 것 같은데, 함수 내부에서 전역 변수에 접근이 가능한 것 같습니다.
그래서 문제는 변수 CONSTANT가 함수 내에서 수정되기 때문에 Python은 CONSTANT를 지역 변수로 간주하고 CONSTANT가 CONSTANT = 1 이전에 인쇄되므로 당연히 이런 오류가 발생한다는 것입니다.
그럼 함수 내에서 전역 변수에 어떻게 접근하고 수정하나요? 변수를 수정하려면 global 키워드를 사용해야 합니다(PHP와 유사).
CONSTANT = 0 def modifyConstant() : global CONSTANT print CONSTANT CONSTANT += 1 return if __name__ == '__main__' : modifyConstant() print CONSTANT
정말 간단해요!
더 많은 Python 관련 콘텐츠에 관심이 있는 독자는 이 사이트의 특별 주제인 "Python 파일 및 디렉터리 작업 기술 요약", "Python 이미지 작업 기술 요약", "Python 데이터 구조 및 알고리즘 자습서"를 확인할 수 있습니다. ", "Python 소켓 프로그래밍" 기술 요약", "Python 함수 사용 기술 요약", "Python 문자열 작업 기술 요약", "Python 코딩 작업 기술 요약" 및 "Python 소개 및 고급 클래식 튜토리얼"
이 기사가 Python 프로그래밍에 종사하는 모든 사람에게 도움이 되기를 바랍니다.