装饰器三 ——装饰器不带参数
非固定参数接收传入的实参,不论是多少都会接收。(*args,**kwargs)
user_status = False def login(func): #func是要传入的函数的内存地址 def inner(*args,**kwargs): user = "alex" password = "123" global user_status if not user_status: user = input("用户名:") password = input("密码:") if user == "alex"and password == "123": print("欢迎登陆") user_status = True else: print("您输入的密码错误,请重新输入") if user_status: func(*args,**kwargs) #执行执行要传入的函数。 return inner def home(): print("----主页----") def america(): print("----欧美专区----") @login def japan(): print("----日本专区----") @login def henan(arg): print("----河南专区----",arg) henan("movie") japan()
越是困难的事越要立即去做,这样收益才会最大!!!