python入门之装饰器
Posted 七瑀亦卿
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python入门之装饰器相关的知识,希望对你有一定的参考价值。
入门原理:
一系列函数要做相同的修改,在这些函数执行之前做的操作,或者在执行之后做的操作都可以在一个装饰器(函数)里修改
作用:
在不改变原函数的情况下,对原函数的操作前或者操作后做些改变,这就是装饰器的作用
def outer(func): #装饰器 def inner(*arg,**kwargs): print("start") r = func(*arg,**kwargs) print("end") return r return inner @outer def f1(a1,a2): #对此函数做修改 print("f1") f1(1,2)
[email protected] 是执行outer装饰器,这条语句下面的所有函数f1,会当作参数通过outer的形参func传入到outer里面,那么outer的函数体里 func = 原来的f1函数
2.将outer的返回值重新赋值给f1(f1=outer的返回值),那么后面执行f1的时候就执行现在这个f1函数(f1=outer的返回值),并非原来的f1函数
3.outer的返回值是inner函数,所以新的f1函数=inner,所以要执行f1(1,2)其实就是执行的是inner(1,2),而r = func(*arg,**kwargs)这句是执行原来的f1函数
以上是关于python入门之装饰器的主要内容,如果未能解决你的问题,请参考以下文章