이 글은 Python에서 nonlocal 및 global 키워드의 선언 및 분석에 대한 관련 정보를 주로 소개합니다. 글의 소개는 필요한 모든 사람에게 확실한 참고 가치가 있다고 생각합니다. 함께 읽어보세요.
1. Python의 전역 및 비지역 선언
다음 코드는
a = 10 def foo(): a = 100
에서 foo를 실행합니다. ( ) 결과 a는 여전히 10
함수 의 변수 에 대한 할당입니다. 변수는 항상 로컬 네임스페이스 <에 바인딩됩니다. 🎜> 함수의 경우 전역 문을 사용하여 동작 을 변경합니다.
>>> a 10 >>> def foo(): ... global a ... a = 100 ... >>> a 10 >>> foo() >>> a 100
에서 검색하세요. 전역 명령 공간 및 내장 네임스페이스.
변수를 레이어별로 조회할 수 있지만 ..python2는 가장 안쪽 범위(로컬 변수)와 전역 명령 공간(gloabl)만 지원합니다. 즉,
은 외부 함수에 정의된 지역 변수를 재할당할 수 없습니다. 예를 들어 다음 코드는 작동하지 않습니다def countdown(start):
n = start
def decrement():
n -= 1
def countdown(start): n = start def decrement(): nonlocal n n -= 1
2. Python nonlocal 및 전역 키워드 분석
nonlocal우선 클로저에 nonlocal 키워드가 정의되어 있다는 점을 분명히 해야 합니다. 다음 코드를 살펴보세요.
x = 0 def outer(): x = 1 def inner(): x = 2 print("inner:", x) inner() print("outer:", x) outer() print("global:", x)
Result
# inner: 2 # outer: 1 # global: 0
이제 클로저에 nonlocal 키워드를 추가하여 선언합니다.
x = 0 def outer(): x = 1 def inner(): nonlocal x x = 2 print("inner:", x) inner() print("outer:", x) outer() print("global:", x)
# inner: 2
# outer: 2
# global: 0
global
여전히 동일합니다. 예를 살펴보세요.
x = 0 def outer(): x = 1 def inner(): global x x = 2 print("inner:", x) inner() print("outer:", x) outer() print("global:", x)
# inner: 2 # outer: 1 # global: 2
[관련 추천]
1.Python 무료 동영상 튜토리얼
2. 파이썬 기본 입문 튜토리얼
3. 파이썬과 데이터 수집의 만남 영상 튜토리얼
위 내용은 비지역적, 글로벌적 세부 분석의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!