装饰器

简单的装饰器:
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('王','学号')
posted @ 2017-09-03 10:44  王盼0810  阅读(87)  评论(0编辑  收藏  举报