装饰器的基本概念
装饰器的基本概念
用来装饰其他函数的函数,即为其他函数添加特定功能或约束的函数(在python中装饰器都是以@符号开头)
装饰器的两个原则
1、装饰器不能修改被装饰函数的源码
2、装饰器不能修改被装饰函数的调用方式
学习装饰器之前必须掌握的概念
函数即变量——函数名本身也是一种变量,将函数名赋值给另一个变量,这个变量本身也指向这个函数
高阶函数
嵌套函数
装饰器 = 高阶函数 + 嵌套函数
函数即变量
函数既卡伊直接被调用,也可以作为变量进行赋值
def boo():
print('in boo')
a = boo
a()
高阶函数
符合下列条件之一的函数就是高阶函数:
· 接受函数名作为形参
· 返回值中包含函数名
def foo():
print('in foo')
def gf(func):
print(func)
func()
gf(foo)
高阶函数两个条件对编写装饰器的意义
· 接受函数名作为形参(不改变被装饰函数代码前提下增加功能)
· 返回值中包含函数名(不改变被装饰函数的调用方式)


嵌套函数
通过def关键字定义在另一函数中的函数叫嵌套函数
def foo():
print('in foo'):
def boo():
print('in boo')



浙公网安备 33010602011771号