一、装饰器的定义
1、定义:在不修改被装饰对象的源代码和调用方式的前提下,为被装饰对象添加新功能的一个函数
2、作用:为函数增加新功能,减少重复性操作,使代码简洁
二、装饰器的运用示例
使用装饰器的步骤:
- 定义装饰器
- 通过@调用装饰器
import time
#定义装饰器
def timer(function):
def wrapper():
time_start=time.time()
function()
time_end=time.time()
cost_time=time_end-time_start
print("花费时间:{}秒".format(cost_time))
return wrapper
#通过@调用装饰器
@timer
def func1():
print('我是一个函数1')
@timer
def func2():
print('我是一个函数2')
func1()
func2()
# 我是一个函数1
# 花费时间:0.0秒
# 我是一个函数2
# 花费时间:0.0秒
三、@property装饰器
作用:创建只读属性(只读,所有用户不能随意修改)
带有@property装饰器的函数被调用时,后面不能加小括号()
@property
def use_property(self):
print('带有装饰器')
#调用该函数
use_property