1. Adorner advanced--double-decked decoration device
Let's go directly to the code and we'll analyze it.
1User_info = {}2 3 defCheck_login (func):4 defInner (*args,**Kwargs):5 ifUser_info.get ("Is_login", None):6ret = func (*args,**Kwargs)7 returnret8 Else:9 Print("Please login")Ten returnInner One A - defCheck_admin (func): - defInner (*args,**Kwargs): the ifUser_info.get ("User_type", None) = = 2: -ret = func (*args,**Kwargs) - returnret - Else: + Print("Not authorized to view") - returnInner + A at deflogin (): -Userinput = input ("Please enter user name:") -Pwdinput = input ("Please enter your password:") - ifUserinput = ="LK" andPwdinput = ="123": -user_info["Is_login"] =True - elifUserinput = ="Liukai" andPwdinput = ="234": inuser_info["Is_login"] =True -user_info["User_type"] = 2 to index () + - the @check_login * @check_admin $ defIndex (*args,**Kwargs):Panax Notoginseng Print("Hello, the administrator greatly") - the + defMain (): A whileTrue: theUserinput = input ("Please enter: 1, management; 2, Login:") +Userinput =Int (userinput) - ifUserinput = = 1: $ index () $ elifUserinput = = 2: - Login () - theMain ()
The results of the implementation are as follows:
1 Please enter: 1, management; 2, Login: 1 2 Please login 3 Please enter: 1, management; 2, Login: 2 4 Please enter your username: LK 5 Please enter password: 123 6 not authorized to view 7 Please enter: 1, management; 2, Login: 2 8 Please enter your username: Liukai 9 Please enter your password : 234 , the administrator greatly
Program Anatomy:
Python Weekly Week Fifth