def outer(func): #定义装饰器 def inner(*args,**kwargs): #定义万能参数 print("log") ret = func(*args,**kwargs) #调用outer的函数 ,万能参数 print("after") return ret return inner @outer # @+函数名 -- 装饰器 ,功能 1.自动执行outer函数 并且将下边的函数名 f1当作参数传递 2.将outer函数返回值,重新赋值给f1def f1(arg): print(arg) print("F1")@outerdef f2(arg1,arg2): print(arg1,arg2) print("F2")@outerdef f100(arg1,arg2,arg3): print(arg1,arg2,arg3) print("F100")@outerdef f3(): print("F3") #调用函数f1("1test")f2("2test","22")f100("3test","33","44")f3()