자유게시판

파이썬 데코레이터

작성자 정보

  • 삼둡 작성
  • 작성일

컨텐츠 정보

본문

파이썬 코딩 도장: 42.1 데코레이터 만들기 (dojang.io)

 

클래스에서 메서드를 만들때 

@를 붙여서 시작하는 것들이 데코레이터 입니다.

 

함수(메서드)를 장식한다고 이름이 그렇게 되었습니다.

 

5caff2daa00aaf3bde0ab216565a9f26fbc952c1pndg.png

 

cd31be479f9c3e0078285909a0d28372a544ec94q0hk.png

파이썬(Python) 데코레이터(Decorator)에 대해서 알아보자 (feat. @) (tistory.com)

 

 

99d4b62a46de8e8ad8f8848a9b29efa041376b73xsr2.png

데코레이터를 쓴 코드로 변경

 

import time

 

@run_time

def f():

    '''

    Just Function

    '''

    print('Sleeping')

    time.sleep(3)

   

f() ## 데코레이터가 추가된 함수 실행



 

def run_time(func):

    def wrapper():

        start_time = time.time() ## 함수 시작 시간 저장

        print(f'{func.__name__} 실행 시작시간 : {start_time}') ## 함수 이름, 실행 시작 시간 출력

        func() ## 함수 실행

        end_time = time.time() ## 함수 종료 시간 저장

        print(f'{func.__name__} 실행 완료시간 : {end_time}') ## 함수 이름, 종료 시간 출력

        print(f'총 실행시간 {end_time-start_time}') ## 실행시간 출력

    return wrapper


 

run_time_f = run_time(f)

run_time_f()

 

 

관련자료

댓글 0
등록된 댓글이 없습니다.

인기검색어


최근글


새댓글