Python修饰器,终极解释来了!
修饰器在本质上就是一个函数,可接收其他函数作为参数。
接下来,让我们看看如何自定义一个修饰器
#这个修饰器可在被修饰函数之前被执行
def xiushi1(func):
print("定义修饰器时立即执行该语句(先定义的)")
def wrapper(*args, **kwargs):
print("before function called!(xiushi1)")
result = func(*args, **kwargs)
print("after function called!(xiushi1)")
return result
print("我是 先 被定义的修饰器中的函数")
return wrapper
#这个修饰器可在被修饰函数之后被执行
def xiushi2(func):
print("定义修饰器时立即执行该语句(后定义的)")
def wrapper(*args, **kwargs):
print("before function called!(xiushi2)")
result = func(*args, **kwargs)
print("after function called!(xiushi2)")
return result
print("我是 后 被定义的修饰器中的函数")
return wrapper
再定义一个test()函数,使用上面的修饰器来对test()函数进行修饰
@xiushi2
@xiushi1
def test():
print(3)
#调用已修饰的函数
test()
代码执行结果如下:
写到最后的一句话:
有什么疑问,关注我获取更多干货内容!