目录
- 嵌套函数
- 匿名函数
- 高阶函数
嵌套函数
就是在函数里再定义一个函数
# 1,函数内部可以在定义函数
# 2,函数要想执行,必须要先被调用
def name1():print('kk')def name2():print('vfx')name2()
name1()
输出:
kk
vfx
name2 现在他内部代码找输出,如果没有变量,就会往上一个层级去找,最后找全局,比如
def name1():age = 22print(age)def name2():# age = 34print(age)name2()
name1()
输出 22,22
匿名函数
就是没有名字的函数
# 函数
def calc(x,y):return x**y
# 匿名
lambda x,y:x**y # 声明一个匿名函数
函数与匿名函数的区别
有名函数:循环使用,保存了名字,通过名字就可以重复引用函数功能
匿名函数:一次性使用,随时随时定义,不能用做复杂的计算。(比如 if)
匿名函数给了名字之后,也可以调用
def calc(x,y):return x**yfunc = lambda x,y:x**yprint(calc(2,3))
print(func(2,3)) # 输出结果是一样的,这样就没有意义了
高阶函数
变量可以指向函数,函数的参数能接收变量,那么一个函数就可以接收另一个函数作为参数,这种函数称为高阶函数
```python
def calc():
return x**x
n = 2 # 函数的参数能接收变量
f =calc(n) # 变量指向函数
calc(n)
只需要满足以下任意条件,就是高阶函数
- 接受一个或多个函数作为输入
- return返回另一个函数