码迷,mamicode.com
首页 > 编程语言 > 详细

python周报第五周

时间:2016-06-06 12:16:10      阅读:225      评论:0      收藏:0      [点我收藏+]

标签:

1.装饰器进阶 -- 双层装饰器

先直接上代码,咱们在来分析。

 1 USER_INFO = {}
 2 
 3 def check_login(func):
 4     def inner(*args,**kwargs):
 5         if USER_INFO.get("is_login",None):
 6             ret = func(*args,**kwargs)
 7             return ret
 8         else:
 9             print("请登录")
10     return inner
11 
12 
13 def check_admin(func):
14     def inner(*args,**kwargs):
15         if USER_INFO.get("user_type",None) == 2:
16             ret = func(*args,**kwargs)
17             return ret
18         else:
19             print("无权查看")
20     return inner
21 
22 
23 def login():
24     userinput = input("请输入用户名: ")
25     pwdinput = input("请输入密码: ")
26     if userinput == "lk" and pwdinput == "123":
27         USER_INFO["is_login"] = True
28     elif userinput == "liukai" and pwdinput == "234":
29         USER_INFO["is_login"] = True
30         USER_INFO["user_type"] = 2
31     index()
32 
33 
34 @check_login
35 @check_admin
36 def index(*args,**kwargs):
37     print("哈喽,管理员大大")
38 
39 
40 def main():
41     while True:
42         userinput = input("请输入:1,管理;2,登陆: ")
43         userinput = int(userinput)
44         if userinput == 1:
45             index()
46         elif userinput == 2:
47             login()
48 
49 main()

执行结果如下:

 1 请输入:1,管理;2,登陆: 1
 2 请登录
 3 请输入:1,管理;2,登陆: 2
 4 请输入用户名: lk
 5 请输入密码: 123
 6 无权查看
 7 请输入:1,管理;2,登陆: 2
 8 请输入用户名: liukai
 9 请输入密码: 234
10 哈喽,管理员大大

程序剖析:

python周报第五周

标签:

原文地址:http://www.cnblogs.com/Caesary/p/5563134.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!