python周报第五周

Posted 爱神灬小凯

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python周报第五周相关的知识,希望对你有一定的参考价值。

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周报第五周的主要内容,如果未能解决你的问题,请参考以下文章

暑假周报告总结第四五周

暑假周报告(第五周)

python学习--第五周

python第五周,函数的定义与使用,代码复用与函数递归

python-爬取中国大学排名(第五周)

python第五周学习内容