python开发函数进阶:装饰器

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python开发函数进阶:装饰器相关的知识,希望对你有一定的参考价值。

一,装饰器本质

闭包函数

功能:就是在不改变原函数调用方式的情况下,在这个函数前后加上扩展功能

 

 

二,设计模式

开放封闭原则

*对扩展是开放的

*对修改是封闭的

 

三,代码解释

 1 #!/usr/bin/env python
 2 #_*_coding:utf-8_*_
 3 
 4 tag = False
 5 
 6 def login(func):
 7     def inner(*args,**kwargs):
 8         global tag
 9         if tag == False:
10             user = input(please your username>>>:)
11             pwd = input(please your password>>>:)
12             f = open(aaa,r,encoding=utf-8)
13             for i in f:
14                 user_pwd = eval(i)
15                 if user == user_pwd[name] and pwd == user_pwd[password]:
16                     tag = True
17             f.close()
18         if tag:
19             ret = func(*args,**kwargs)
20             return ret
21     return inner
22 
23 @login
24 def haha(*args,**kwargs):
25     print(中国动漫)
26     pass
27 
28 @login
29 def hengheng(*args,**kwargs):
30     print(美国动漫)
31     pass
32 ##########用户调用方式
33 haha()
34 hengheng()

 

以上是关于python开发函数进阶:装饰器的主要内容,如果未能解决你的问题,请参考以下文章

Python进阶装饰器(Decorator)

Python进阶第九篇装饰器

1Python进阶强化训练之装饰器使用技巧进阶

python函数四(装饰器进阶)

Python进阶精华-编写装饰器为被包装的函数添加参数

Python函数--装饰器进阶