当前位置: 首页 > 后端技术 > Python

Python函数进阶-高阶函数_0

时间:2023-03-25 20:37:34 Python

高阶函数什么是高阶函数?高阶函数是可以将函数作为参数传递的函数。换句话说,如果一个函数参数是一个函数,那么这个函数就是一个高阶函数。高阶函数可以是你使用def关键字定义的函数,也可以是Python系统自带的内置高阶函数。自定义一个高阶函数在下面的例子中,函数senior的参数之一是一个函数,那么senior就是一个高阶函数;函数十倍的参数不是函数,所以十倍只是一个普通的函数。#定义一个高阶函数defsenior(func,container):"""将容器中的数据依次放入函数中进行运算,将结果返回给迭代器,最后返回迭代器。"""lst=list()foriincontainer:lst.append(func(i))returniter(lst)#定义一个普通函数deftenfold(num):"""十倍将数据乘以10并返回结果。"""returnnum*10#定义一个列表lst=[10,20666,'msr']#使用高阶函数it=senior(tenfold,lst)print(list(it))#[100,206660,'msrmsrmsrmsrmsrmsrmsrmsrmsrmsrmsrmsr']常用内置高阶函数map函数语法:map(function,Iterable)参数说明函数:function,可以是自定义函数,也可以是内置函数;iterable:可迭代对象,可迭代数据。(容器类型数据和类容器类型数据、范围对象、迭代器)函数将可迭代对象中的数据逐一取出,然后放入指定的函数中进行处理,将处理后的结果依次放入迭代器中,最后返回这个迭代器。该实例将列表中的元素转换为整数类型并返回它们。lst=['1','2','3','4']"""使用常规写法"""new_lst=list()foriinlst:new_lst.append(int(i))print(new_lst)#[1,2,3,4]"""使用map函数实现"""it=map(int,lst)new_lst=list(it)print(new_lst)#[1,2,3,4]列表中的每个数字都乘以2+1次方的下标索引。使用自定义函数配合实现功能。lst=[1,2,3,4]"""普通方法,使用左移"""new_lst=list()foriinlst:res=i<