装饰器——备课
关于函数的一点补充知识
之前我们已经学习过函数的知识,知道每一个函数都有一个名字。当我们在函数名后面加上一个括号的时候,就是对这个函数进行了调用,那么这个函数名的本质是什么呢?
http://dig.chouti.com/中引发的新需求
def release(): print('Release') def thumbup(): print('Thumbup') def collect(): print('Collect') def comment(): print('Comment') def chat(): print('Chat')
那么问题来了,我们如何来实现在用户使用这些功能的时候,让未登陆的用户先登陆呢?
...
def login(usr): if usr == 'Eva_J': return True def wrapper(funcname): if login('Eva_J'): return funcname def thumbup(): print('Thumbup') home = wrapper(thumbup) home()
开放封闭原则
def login(usr): if usr == 'Eva_J': return True def wrapper(funcname): if login('aaa'): return funcname @wrapper def thumbup(): print('thumbup') thumbup()

浙公网安备 33010602011771号