1. 程式人生 > >python開發函數進階:裝飾器

python開發函數進階:裝飾器

for 中國 eas login please 函數 功能 log 原則

一,裝飾器本質

閉包函數

功能:就是在不改變原函數調用方式的情況下,在這個函數前後加上擴展功能

二,設計模式

開放封閉原則

*對擴展是開放的

*對修改是封閉的

三,代碼解釋

 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開發函數進階:裝飾器