인프런 커뮤니티 질문&답변

sbson님의 프로필 이미지
sbson

작성한 질문수

우리를 위한 프로그래밍 : 파이썬 중급 (Inflearn Original)

일급함수 - 클로저 심화(3-2)

클로저에서 nonlocal을 붙어야 하는 경우와 안붙여도 되는 경우 구분은?

해결된 질문

작성

·

155

1

1) 클로저 사용시, series (리스트형)의 경우는 nonlocal을 사용하지 않아도 되고, total, cnt는 nonlocal을 사용하지 않아도 되는 이유는 무엇인지요?
 
2) 클로저 사용시 에러없이 구현하려할때, 반드시 nonlocal을 붙여서 사용해야 하는 자료형과 nonlocal을 붙이지 않아도 되는 자료형은 어떻게 구별할 수 있는지요?

답변 1

0

좋은사람님의 프로필 이미지
좋은사람
지식공유자

1. 코드상에서 스코프영역에서 소멸주기를 확인하셔야 합니다.

    기반 설명은 강의 중에 각 스코프별 변수 생명주기를 참조하시면 됩니다.

2. 클로저 뿐만 아니라 nonlocal 이 필요한 경우는 다른 영역에 관심을 갖지 않고 

    자기가 속한 영역에 관심을 두고 개발을 진행할 때 사용하시면 됩니다.

 

아래 링크도 읽어보세요.

https://shoark7.github.io/programming/python/closure-in-python#2c

sbson님의 프로필 이미지
sbson
질문자

빠른 회신 및 관련링크 감사드립니다~!

sbson님의 프로필 이미지
sbson

작성한 질문수

질문하기