2021-05-12函数高阶
1. 匿名函数 - 没有函数名的函数
“”"
lambda 形参列表:返回值
相当于:
def (形参列表):
return 返回值
函数名 = lambda 形参列表:返回值
相当于:
def 函数名(形参列表):
return 返回值
注意:匿名的本质还是函数,之前函数中除了定义函数的语法以外的内容都适用于匿名
“”"
求两个数的和的匿名函数
sum1 = lambda num1,num2:num1+num2
print(sum1(num1=100, num2=200))
1. 函数就是变量
“”"
python 中定义函数就是定义类型的function的变量,函数名就是变量名
普通变量能做的事情,函数都能做
“”"
x = lambda num:num*2
# def x(num):
# return num*2
func3是一个实参高阶函数 - 如果一个函数的参数是函数,那么这个函数就是实参高阶函数
def func3(x,y,z,m):
# x是长度大于等于2的有序序列
print(x[1])
# y是任何类型的数据
print(y)
# z是字典
print(z['a'])
# m是函数
m()
def t1():
print('x')
func3('abc',100,{'a':100},t1)
func3('abc', 100, {'a': 100}, lambda x=10: x * 2)
fun4是返回值高阶函数 - 如果一个函数的返回值是函数,那么这个函数就是返回值高阶函数
def func4():
# name = '张三'
# return name
def t2():
print('你好!')
return t2
1.python中常用的实参高阶函数:max min sorted map reduce
1) max和min
max(序列,key=函数) - 按照key对应的函数指定的规则来获取序列中元素的最大值
函数的要求: 1)有且只有一个参数(这个参数执行的是序列中的元素)
2)有一个返回值(比较大小的对象)
2) sorted
sorted(序列,key=函数)
函数的要求:1) 有且只有一个参数(这个参数指向