-
카테고리
-
세부 분야
프로그래밍 언어
-
해결 여부
해결됨
series = []의 할당과 참조에 대해서
22.06.03 16:13 작성 조회수 125
0
안녕하세요 강의자님.
def closure_ex2():
cnt = 0
total = 0
def averager(v):
cnt += 1
위에서 아래 함수의 cnt가 위 함수의 cnt를 참조하지 못해서 에러가 발생한다고 해주셨습니다. 그런데
def closure_ex1():
series = []
def averager(v):
series.append(v)
이 경우에 아래 함수는 위에서 할당된 series = [] 변수를 참조해서 series.append(v)를 실행할 떄는 왜 에러가 발생하지 않는 것인가요? 리스트는 immutable해서 '자유 변수'로서 기능할 수 있기 때문이라고 이해하면 될까요?
답변을 작성해보세요.
1
좋은사람
지식공유자2022.06.04
안녕하세요.
위에 함수에서 += 연산자 사용과
cnt = cnt + 1
이때 각각 바꿔서 실행해보시면 됩니다.
변수 스코프에서 참조는 가능합니다.
답변 1