python学习系列之python装饰器基础(3)---装饰器实现用户登录验证
程序员文章站
2022-07-15 08:25:30
...
接我之前的基础(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
非法用户!
转载于:https://blog.51cto.com/alsww/1718137
上一篇: Erlang--随机数