培训学习感悟:
填鸭式培训,不理解为什么要讲这些函数,说很有用,但并没有说具体工作中如何使用,只是简单的计算,那网上到处都是这类知识,甚至使用chatgbt都可以教我,就是为了上课而上课,“人血馒头”的培训,避雷!
高阶函数
定义:参数或返回值为其他函数的函数。
filter(function, iterable)
- filter是内置的类;
- function:函数,必须要接受一个函数或者写None
- 将iterable中每个元素作为参数传递为函数,根据函数的返回结果进行判断True或False,将判断为True的iterable中的元素构建新的迭代器并返回。
- 依旧返回原可迭代对象中的元素。
tup = 0, True, 3, 44, False # 打包为元组
print(tup) # (0, True, 3, 44, False)
print(filter(None, tup)) #打印迭代器地址:<filter object at 0x000002030F3E6D70>
print(list(filter(None, tup))) #[True, 3, 44]
map(func,*iterable)
- map是内置的类型
- func:函数(func必须能够接收iterables个数的实参)
- 用iterable中的每个元素作为函数的参数来调用函数,以迭代器形式返回所有结果
- 当有多个iterable对象时,最短的iterable耗尽函数停止
print(list(map(pow, (3, 4, 5, 2),[1, 1, 2, 1])))
# [3, 4, 25, 2]
reduce(func,iterable,initial)
- function:函数(必须)
- intial:初始值(必须)
- reduce()函数是在functools模块中的,使用前需先导入functools模块
- 函数的功能为利用调用的func,然后返回结果