클로저 예제 중 'NoneType' 에 대한 질문입니다.
145
작성한 질문수 14
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, 생략 이렇게 넣어서 결과를 출력해보니 값이 다 다르게 나오고, 느낌은 오는데 명확히 정리가 잘 안됩니다 ㅠㅠ
항상 친절한 답변 감사드립니다.
답변 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





