装饰器:
定义:本质就是函数,(装饰其他函数)就是为其他函数添加附加功能
原则:1、不能修改被装饰的函数的源代码
2、不能修改被装饰的函数的调用方式
实现装饰器知识储备:
1、函数即"变量"
2、高阶函数
a:把一个函数名当做实参传给另外一个函数(在不修改被装饰函数源代码的情况下为其添加功能)
b:返回值中包含函数名(不修改函数的调用方式)
3、嵌套函数
高阶函数+嵌套函数=》装饰器
高级装饰器
1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 # Author:kiko0o0 4 5 import time 6 7 user,passwd = 'zk','123' 8 def auth(auth_type): 9 def outer_wrapper(func): 10 def wrapper(*args, **kwargs): 11 if auth_type == 'local': 12 username = input('username = ').strip() 13 password = input('password = ').strip() 14 if username == user and password == passwd: 15 print('