装饰器

简单的装饰器:
def  login(func):
def inner(arg):
print('对%s进行审查...'%arg)
func(arg)
return inner
@login
def tv(name):
print('欢迎%s'%name)
# tv = login(tv)
tv('alex')

复杂一点:

def before(name,d):
print('验证%s的%s信息'%(name,d))
def after():
print('返回')
def p(before_f,after_f):
def login(func):
def inner(arg,rag):
before_f(arg,rag)
func(arg, rag)
after_f()
return inner
return login
@p(before,after)
def tv(name,r):
print('欢迎%s'%name)
tv('王','学号')
原文地址:https://www.cnblogs.com/wp0810/p/7468134.html