程序媛

装饰器——备课

关于函数的一点补充知识

之前我们已经学习过函数的知识,知道每一个函数都有一个名字。当我们在函数名后面加上一个括号的时候,就是对这个函数进行了调用,那么这个函数名的本质是什么呢?

http://dig.chouti.com/中引发的新需求

def release():
    print('Release')

def thumbup():
    print('Thumbup')

def collect():
    print('Collect')

def comment():
    print('Comment')

def chat():
    print('Chat')
dig.chouti中的方法们

那么问题来了,我们如何来实现在用户使用这些功能的时候,让未登陆的用户先登陆呢?

 ...

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()
成为python的高端玩家

 开放封闭原则

def login(usr):
    if usr == 'Eva_J':
        return True

def wrapper(funcname):
    if login('aaa'):
        return funcname

@wrapper
def thumbup():
    print('thumbup')

thumbup()
接下来就是见证奇迹的时刻

 

posted @ 2016-10-27 19:59  Eva_J  阅读(1183)  评论(0)    收藏  举报