이 글은 예제를 통해 Python 범위의 사용법을 분석합니다. 다음과 같이 참조할 수 있도록 모든 사람과 공유하세요.
모든 프로그래밍 언어에는 변수 범위 개념이 있으며 Python도 예외는 아닙니다. 다음은 Python 범위에 대한 코드 데모입니다. 🎜>
def scope_test(): def do_local(): spam = "local spam" def do_nonlocal(): nonlocal spam spam = "nonlocal spam" def do_global(): global spam spam = "global spam" spam = "test spam" do_local() print("After local assignment:", spam) do_nonlocal() print("After nonlocal assignment:", spam) do_global() print("After global assignment:", spam) scope_test() print("In global scope:", spam)
프로그램 출력:
After local assignment: test spam After nonlocal assignment: nonlocal spam After global assignment: nonlocal spam In global scope: global spam
참고: 로컬 할당 문은 스팸으로 처리할 수 없습니다. scope_test 바인딩을 변경합니다. nonlocal 할당문은scope_test의 스팸 바인딩을 변경하고, 전역 할당문은 모듈 수준에서 스팸 바인딩을 변경합니다.
그 중 nonlocal은 Python 3의 새로운 키워드입니다.
또한 전역 할당문 앞에 스팸이 미리 바인딩되어 있지 않은 것을 확인할 수 있습니다.
요약:프로그램에서 전역 변수에 액세스하는 상황이 발생하여 전역 변수의 값을 수정하려는 경우 다음을 사용할 수 있습니다. 함수에서 이 변수를 선언합니다 전역 변수입니다
nonlocal 키워드는 함수나 다른 범위에서 외부(비 전역) 변수를 사용하는 데 사용됩니다.
global 키워드는 이해하기 쉽고, 다른 언어에서도 일반적으로 마찬가지입니다. 다음은 로컬이 아닌 또 다른 예입니다.
def make_counter(): count = 0 def counter(): nonlocal count count += 1 return count return counter def make_counter_test(): mc = make_counter() print(mc()) print(mc()) print(mc())
실행 결과:
1 2 3
자세히 알아보기 Python 범위 사용 예 및 관련 기사에 대한 자세한 설명은 PHP 중국어 웹 사이트를 주목하십시오!