안녕하세요!
리스트 객체를 담는 temp 변수는 nonlocal을 붙이지 않아도 내부함수에서 찾을 수 있는데, 정수 객체를 담는 cnt 변수는 왜 못 찾는지 궁금합니다.
다른 질문답변들도 읽어봤는데 call by reference는 함수 인자로 넘어갈 때 발생하는 문제(?)로 알고 있어서... temp 변수가 함수 인자로 들어가지 않은 예제 소스와는 다른 것 같습니다(제가 파이썬이 첫 프로그래밍 언어여서 잘못 알고 있다면 말씀해주시면 감사하겠습니다!)
아니면 객체의 타입, 즉 말씀하셨던 mutable 객체와 immutable 객체별로 변수의 스코프가 다른 것인가? 서로 다른 메모리 공간에 저장되는건지 아니면 id 공유 방식도 다른건가? 하는 생각도 들고,,,
제가 알던 지식들에 예외가 하나씩 생겨서,,, 혼란스러운 상태라 다른 답변들도 제대로 이해 못 하고 질문이 이상할 수도 있지만,,, 설명 부탁드리겠습니다 :)