装饰器

现有代码

def tv(name):
    print("Welcome [%s] to TV page" %name)
def movie(name):
    print("Welcome [%s] to movie page" %name)
tv('yoyo')

新的需求

在打开tv page前需要进行登录验证,验证通过后才能访问,通过添加装饰器修改

所谓装饰器就是把函数包装一下,为函数添加一些附加功能,装饰器就是一个函数,参数为被包装的函数,返回包装后的函数

 1 def login(func):  #func = tv
 2     def inner(arg):  #arg = yoyo
 3         print('passwd user...')
 4         func(arg)
 5     return inner
 6 
 7 @login
 8 def tv(name):
 9     print('welcome [%s] to tv page' %name)
10 tv('yoyo')

 

posted @ 2016-07-06 16:38  yoyoua  阅读(94)  评论(0编辑  收藏  举报