inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

클로저 예제 중 'NoneType' 에 대한 질문입니다.

145

kks99502

작성한 질문수 14

1

def closure_ex1():

       series = []

       def averager(v):

             series.append(v)

             print('inner >> {} / {}'.format(series, len(series)))

             return sum(series) / len(series)

       (return averager)

avg_closure1 = closure_ex1()

avg_closure2 = closure_ex1

위의 클로저 예제에서 closure_ex1 함수의 return averager를 제거하고 두가지 방식으로 변수 할당을 해보았습니다.

그리고 아래와 같이 타입을 출력해보았는데 NoneType과 function이라는 결과값이 나왔습니다.

print(type(avg_closure1)) -> NoneType

print(type(avg_closure2)) -> function 

avg_closure1 = closure_ex1() 이렇게 변수를 할당하는 것은 avg_closure1에 closure_ex1 함수가 실행된 상태로 

할당되어 있는 것을 의미하는 건가요?

그래서 함수의 실행 결과인 리턴값이 없기 때문에 NonType이라고 출력되는 건가요?

계속 (return 부분)을 return averager, return series, 생략 이렇게 넣어서 결과를 출력해보니 값이 다 다르게 나오고, 느낌은 오는데 명확히 정리가 잘 안됩니다 ㅠㅠ

항상 친절한 답변 감사드립니다.

django python

답변 1

1

좋은사람

정확하게 강의를 반복해서 듣는 것을 추천드립니다.

처음에는 어려운 부분입니다.

또는 구글에서 클로저에 대한 검색을 통해서 개념을 읽어보세요

진도미확인 (진도가 안 넘어감)

0

40

1

RuntimeError: There is no current event loop in thread 'MainThread'

0

84

1

chapter 07-01 실행 오류

0

66

1

Chapter05-04 : sum_func의 합이 이중 출력됩니다.

0

76

2

45. 병렬성 2 - Futures(5-1) wait가 의도된 대로 동작하지 않습니다.

0

92

2

멀티스레딩 - 44. 병렬성 1 - Futures(4-2)

0

70

2

chapter05_02 클로저 질문사항 !

0

50

1

LV1 설정

0

87

2

매직 메소드의 호출 방법 차이 문의

0

131

2

왜 numbers리스트를 만들때 str으로 숫자를 감싸나요?

0

93

2

스크랩핑 실습 중 Mac OS 인증서 문제

0

129

1

AsyncIO 멀티 스크랩핑 실습 예제 관련 질문

0

167

1

강의자료가 영상과 다릅니다

0

255

2

closure.cell_contents 초기화 하기 문의

0

129

2

map함수 사용 시, list변환 방법 문의

0

335

2

__mul__ 백터 * 숫지, 백터 * 백터 처리

0

143

1

del처리후 질문입니다.

0

153

1

car_list(car1,car2,car3) 인스턴스 tuple 타입 문의

0

223

1

coroutine에 대한 질문

0

242

1

제너레이터 이터레이터 질문이 있습니다.

0

248

1

atom install package search not working

0

275

1

Magic Method - Not Implemented

0

394

1

가상환경 질문!

0

401

1

병렬처리 추가 질문이 있습니다.

0

243

1