inflearn logo
강의

講義

知識共有

私たちのためのプログラミング:Python 中級 (Inflearn Original)

一級関数 - デコレーター(4-2)

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

76

Zetta Kim

投稿した質問数 7

0

안녕하세요. 강사님.

Chapter05-04 : sum_func의 합이 이중 출력됩니다.(합 1500이 두 번 출력)

def perf_clock(func): # func가 free vatiable
    def perf_clocked(*args):
        # 함수 시작 시간 
        st = time.perf_counter()
        # 함수 실행
        result = func(*args)
        # 함수 종료 시간
        et = time.perf_counter() - st
        # 실행 함수명
        name = func.__name__
        # 함수 매개변수
        arg_str = ', '.join(repr(arg) for arg in args)
        # 결과 출력
        print('[%0.5fs] %s(%s) -> %r' % (et, name, arg_str, result))
        return result
    return perf_clocked

---------------------------------------- Called None Decorator -> sum_func [0.00001s] sum_func(100, 200, 300, 400, 500) -> 1500

1500

아무리 봐도 이유를 모르겠습니다.

제가 작성한 코드 지우고 강사님이 제공한 코드로 실행해도 동일합니다.

 

 

 

python django

回答 2

1

niceman

두 번 출력되는 이유는 데코레이터가 함수의 실행 결과를 print 하고,
return 되는 함수를 다시 출력해서 그렇습니다.

즉, 데코레이터 + 함수 리턴 이중 출력됩니다.

데코레이터 내부 print 문을 주석 처리 또는 return 을 없이 처리하셔도 됩니다.

 

0

Zetta Kim

답변 감사합니다^^

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

0

39

1

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

0

83

1

chapter 07-01 실행 오류

0

66

1

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

0

92

2

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

0

70

2

chapter05_02 클로저 질문사항 !

0

49

1

LV1 설정

0

87

2

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

0

131

2

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

0

93

2

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

0

128

1

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

0

167

1

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

0

255

2

closure.cell_contents 초기화 하기 문의

0

128

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

멀티프로세싱 관련 질의

0

278

1