nonlocal
1. nonlocal
이란?
nonlocal
은 파이썬의 키워드 중 하나로, 중첩 함수 내부에서 바깥 함수의 변수를 참조할 수 있게 합니다. nonlocal
은 주로 클로저(closure)에서 변수의 값을 변경하고자 할 때 사용합니다.
2. nonlocal
사용 예시
아래 코드는 함수가 3개 중첩되어 있습니다. fff 함수에서 만약 전역 변수 a를 참조하고 싶다면 global a를, 자신을 감싸고 있는 바로 위에 함수를 참조하고 싶다면 nonlocal a를 사용합니다.
4. 주의사항
nonlocal
을 사용할 때 참조하는 변수가 실제로 바깥 함수에 존재하는지 반드시 확인해야 합니다. 그렇지 않으면 SyntaxError
가 발생합니다.