首页 > 代码库 > python开发函数进阶:装饰器

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开发函数进阶:装饰器