1 装饰器本质上是一个函数,作用是不改变代码结构的前提下增加功能
2 目录结构如下,代码示例为3,4:
3 demo.py
# -*- coding:utf8 -*-
import time
# 方式一 计时器
def timer(func):
def inner(*args,**kwargs):
while True:
time.sleep(3)
func(*args,**kwargs)
return inner
"""
方式二
def timer(func):
def inner(*args,**kwargs):
start_time = time.time()
while True:
end_time = time.time()
if end_time - start_time > 2:
start_time = end_time
func(*args,**kwargs)
return inner
"""
4 test.py
from demo import *
import datetime
@timer
def count(arg):
print('{} 时间为 {}'.format(arg,datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')))
count('北京')