装饰器
简单的装饰器:
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('王','学号')