Python自学笔记(16day)
练习
(1)
#写一个装饰器,可以对多个函数进行装饰,登陆时需要验证登陆用户密码,登陆成功后,后续对函 #数操作不需要再进行验证。 FLAG=False def login(func): def inner(*args,**kwargs): global FLAG if FLAG: ret=func(*args,**kwargs) return ret else: FLAG=True user_name=input("请输入用户名:\n ") password=int(input("请输入密码:\n")) if user_name=="王然" and password==123456: ret=func(*args,**kwargs) return ret return inner @login def shoppingadd(*args,**kwargs): print("增加一个物品") @login def shoppingpop(*args,**kwargs): print("删除一个物品") shoppingadd() shoppingpop()
总结:先写出装饰器的固定模板,然后思路:登陆成功函数才执行,用if语句,登陆成功后后续不需要继续验证,则登陆成功后再调用函数,不走登陆成功后的语句用if分离,增加一个全局变量,登陆成功后对对全局全局变量进行修改,后续登陆就走另外一个语句。