• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    해결됨

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

21.12.06 03:51 작성 조회수 105

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

질문자

2021.12.06

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