python装饰器_付款前登录验证
程序员文章站
2022-07-15 08:29:33
...
# 装饰器应用
# 登录验证
# 1.定义一个登录函数
import time
isLogin = False # 注意变量名采用驼峰式
def login():
while True:
username = input('请输入用户名:')
password = input('请输入密码:')
if username == 'admin' and password == '123456':
return True
else:
return False
# 2. 定义一个装饰器,进行付款验证
def pay_require(func):
while True:
def wrapper(*args, **kwargs):
global isLogin # 需要改变login值,所以引入global
# 验证用户是否登录成功
if isLogin:
func(*args, **kwargs)
else:
print('没有登录,付款失败,请先进行账号登录')
isLogin = login()
print('result', isLogin)
return wrapper
# 3. 定义一个付款操作
@pay_require
def pay(money):
print('正在付款,付款金额是:{}'.format(money))
print('付款中....')
time.sleep(3)
print('付款成功')
pay(10000)