반응형
각 함수에 소요 된 시간을 테스트하고 시간과 함께 이름을 인쇄하는 파이썬 함수를 만들고 싶습니다. 함수 이름을 인쇄하는 방법과 다른 방법이 있으면 알려주십시오.
def measureTime(a):
start = time.clock()
a()
elapsed = time.clock()
elapsed = elapsed - start
print "Time spent in (function name) is: ", elapsed
해결 방법
그러나 엄격하게 배우기 위해 자신의 타이밍 방법을 작성하려면 여기에 데코레이터를 사용하기 시작할 수있는 곳이 있습니다.
Python 2 :
def timing(f):
def wrap(*args):
time1 = time.time()
ret = f(*args)
time2 = time.time()
print '%s function took %0.3f ms' % (f.func_name, (time2-time1)*1000.0)
return ret
return wrap
사용법은 매우 간단합니다. @timing 데코레이터를 사용하면됩니다.
@timing
def do_work():
#code
Python 3 :
def timing(f):
def wrap(*args, **kwargs):
time1 = time.time()
ret = f(*args, **kwargs)
time2 = time.time()
print('{:s} function took {:.3f} ms'.format(f.__name__, (time2-time1)*1000.0))
return ret
return wrap
참고 : f.func_name
을 호출하여 함수 이름을 문자열 (Python 2에서) 또는 f .__ name __
(Python 3에서)로 가져옵니다.
참조 페이지 https://stackoverflow.com/questions/5478351
반응형
'파이썬' 카테고리의 다른 글
파이썬 TypeError : 'str'은 버퍼 인터페이스를 지원하지 않습니다. (0) | 2020.10.07 |
---|---|
파이썬 Python에서 DateTime 객체의 시간을 자르는 방법은 무엇입니까? (0) | 2020.10.06 |
파이썬에서 명령 프롬프트 명령을 실행하는 방법 (0) | 2020.10.06 |
파이썬 Python에서 반복 건너 뛰기 (0) | 2020.10.06 |
파이썬 matplotlib를 사용하여 축 레이블에 날짜 및 시간이있는 그래프 만들기 (0) | 2020.10.06 |
댓글