- 装饰器decorator的使用
- 在某公司的一次笔试中面试官出了一道题,使用python 的decorator实现一个函数的执行时间的计算。
- 分析:关于函数执行时间的计算,那么肯定是执行之前得到一个时间,执行之后得到一个时间,中间直接执行一次函数,这样就得到一个函数的执行时间。考虑适用decorator,那么参数是func,并且使用函数的嵌套(闭包)
- 示例代码:
-
import time def calFuncTime(func): def getTime(): start = time.time() # time point func() end = time.time() # after exec func(), get current time return end-start # return the diff time return getTime @calFuncTime def getDis(): i = 0 while i<10000: i = i+1 print getDis() # this will print getDis() func exec time
- 关于decorator的介绍发现一篇写的不错的文章:https://foofish.net/python-decorator.html
只知道不行动是纸上谈兵,只行动不思考更像是无头的苍蝇,要知行合一。