装饰器
一. Python 中装饰器是为了在已存在的函数体上添加新功能,但是不对原函数题做修改。
二、为什么函数能被装饰?
a。函数能够作为参数传给另一个函数。
b。函数A还可以将 函数B作为其返回值
案例一.函数能够作为参数传给另一个函数
def func1(a, b):
print('【函数func1】正在执行')
return a + b
def func2(func, c, d):
print('【函数func2】正在执行')
return func(c, d)
# 分别调用函数
print(func1(1, 2))
print(func2(func1, 1, 2))
案例二: 函数内部还能创建函数
def func3(a, b):
print('【函数func3】正在执行')
def func4():
print('【函数func4】正在执行')
return a + b
print(func4())
func3(10, 20)
案例三:函数A还可以将 函数B作为其返回值
def A(a, b):
print('【函数A】正在执行')
def B(c):
print('【函数B】正在执行')
return a + b + c
return B
B=A(10, 20)
print(B)
print(B(30