接我之前的基础(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
非法用户!