작성
·
98
0
아래 비슷한 질문이 있는데, 답변이 없어서 저도 질문드립니다.
---------------------------------------------------------------------------------------------
closure_ex1 ,
closure_ex2 을 통해 클로저를 보여주셨는데요.
결국 두개 함수의 패턴은 같은데, 하나는 변수에 빈 리스트를 선언하고 하나는 변수에 상수를 할당하였는데요.
왜 변수에 상수를 할당했을 때만 예외 에러가 나는지요?
비슷하게 생각하면 리스트도 할당전에 사용하는 것이라 에러가 나야할듯 한데요.
무슨 차이 때문에 그런것 이지요?
답변 1
0
안녕하세요. lcdmaster님
기초과정에서 설명했다시피 파이썬에는 상수의 개념은 없습니다.
다만, 상수를 정의하기 위한 몇 가지 패턴 및 네이밍 규칙이 존재합니다.
정확한 질문 의도 파악이 되지는 않지만,
할당 전에 사용하는 부분은 클로저 영역에서 초기화가 된 상태로 메모리 영역에 로드가 된다고 생각하시면 될 것 같습니다.
파이썬 클래스 상수 사용 패턴은 아래 블로그에 가장 정확하게 나와 있는 것 같습니다.
https://medium.com/better-programming/does-python-have-constants-3b8249dc8b7b
아울러, 클로저 메모리 구조에 대해서 구글 등 검색을 통해서 한 번 읽어보시는 것을 추천드립니다.