接我之前的基础(2),如果又有新的需求,就是在不改变原代码的基础上,新增一个用户验证登录的功能,怎么破? 

上代码:


#basic3.py

#coding:utf-8

def login():
    name = 'lilei'
    if name == 'han×××':
        return True
    else:
        return False

def auth(func):
    def inner(*arg, **kwargs):
        print 'before'
        is_login = login()
        if not is_login:
            return '非法用户!'
        # func代指 fetch_server_list 原函数
        temp = func(*arg,**kwargs)
        print 'after'
        return temp
    return inner


@auth
def fetch_server_list(arg):
    serve_list = ['c1','c2','c3']
    return serve_list

执行部分:

#b3.py

import basic3

ret_list = basic3.fetch_server_list('test')
print ret_list

执行结果:

#python b3.py
before
非法用户!