Python 2.x 클로저의 비지역 변수에 액세스
Python 2.x에는 nonlocal 키워드가 부족하여 비지역 변수 액세스에 대한 의문이 제기됩니다. 폐쇄에서. 내부 함수는 본질적으로 비지역 변수를 읽을 수 있지만 리바인딩은 허용되지 않습니다.
비지역 변수 액세스에 대한 해결 방법
이러한 제한에도 불구하고 해결 방법을 사용할 수 있습니다.
사전 사용 예
Wikipedia의 예를 기반으로 다음 코드 조각을 고려하세요.
<code class="python">def outer(): data = {'y': 0} def inner(): data['y'] += 1 return data['y'] return inner f = outer() print(f(), f(), f()) # prints 1 2 3</code>
이 예에서는 사전 데이터를 사용하여 비지역 변수 y를 저장합니다. 내부 함수는 비지역 변수 리바인딩에 대한 제한을 위반하지 않고 y 값을 증가시키고 업데이트된 값을 반환할 수 있습니다.
위 내용은 Python 2.x에서 로컬이 아닌 변수에 액세스: 제한 사항을 해결하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!