python笔记18-高阶函数

高阶函数:    如果一个函数的入参是一个函数名的话,那这个函数就是一个高阶函数    函数即变量

# def hello(name):#     print(name)# new_hello = hello#hello函数体赋给new_hello也是函数#hello(‘hello..‘)#new_hello(‘new_hello‘)# print(type(hello))# print(type(new_hello))new_hello也是函数#如果不明白函数即变量,就看这里

#下面是高阶函数的列子#如果一个函数的入参是一个函数名的话,那这个函数就是一个高阶函数# def add(x,y,z):#     #参数z是要传入一个函数名#     res = z(x)+z(y)#     return res# print(add(‘98‘,‘100‘,int))
时间: 2025-01-05 00:22:10

python笔记18-高阶函数的相关文章

函数式编程 & Python中的高阶函数map reduce filter 和sorted

1. 函数式编程 1)概念 函数式编程是一种编程模型,他将计算机运算看做是数学中函数的计算,并且避免了状态以及变量的概念.wiki 我们知道,对象是面向对象的第一型,那么函数式编程也是一样,函数是函数式编程的第一型.在面向对象编程中,我们把对象传来传去,那在函数式编程中,我们要做的是把函数传来传去,而这个,说成术语,我们把他叫做高阶函数.飞林沙 2)特点 计算视为视为函数而非指令 纯函数式编程:不需变量,无副作用,测试简单(每次的执行结果是一样的) 支持高阶函数,代码简洁 2. python支持

python之6-2高阶函数

1. map函数 map(函数A,字符串或者列表) map函数的意思是将函数A依次作用到字符串的每个字符或者列表的每个元素. 例如: map(lambda x: x*x,[1,2]) [1, 4] 这里lambda是匿名函数,匿名函数的作用就是不用定义函数名. 格式:lambda 参数: exp 关于map函数,其实用的并不是太多,因为可以用列表解析来写,例如上面的等价于[x*x for x in range(1,3)] 2. reduce函数 reduce(函数A,字符串或者列表) reduc

Python 函数式编程--高阶函数Map、Reduce、Filter、Sorted

1.1   高阶函数 变量可指向函数 >>> abs(-10) 10 >>> x = abs    --x指向abs函数 >>> x(-1)      --直接调用x 1 调用abs和调用x完全相同. 函数名也是变量 >>> abs = 10 >>> abs(-10) Traceback (most recent call last): File "<stdin>", line 1,

python字符串反转 高阶函数 @property与sorted(八)

(1)字符串反转 1倒序输出 s = 'abcde' print(s[::-1]) #输出: 'edcba' 2 列表reverse()操作 s = 'abcde' lt = list(s) lt.reverse() print(''.join(lt)) #输出: 'edcba' 3 二分法交换位置 s = 'abcde' lt = list(s) for i in range(len(l) // 2): lt[i], lt[-(i+1)] = lt[-(i+1)], lt[i] print('

【python基础】高阶函数

一.定义 参数是一个函数的函数 ——> 高阶函数 二.高阶函数 1.abs(n) : 求n的绝对值,并返回给调用处 1 res1 = abs(-609) # 609 2.list.sort(key, reverse=False) : 将列表中的每个元素按照指定的规则排序;无返回值,将排序的结果直接作用于原列表 形参key的值是个函数, 这个函数用来指定列表排序的规则 这个函数必须要有一个参数, 这个参数就代表列表中的每个元素 这个函数必须要有一个返回值,这个返回值就是用来比较每个元素排序顺序的

python 中的高阶函数

函数名其实就是指向函数的变量 >>> abs(-1) 1 >>> abs <built-in function abs> >>> a=abs >>> a(-1) 1 高阶函数:能接收函数做变量的函数 >>> def abc(x,y,f): ... return f(x)+f(y) ... >>> abc(-2,3,abs) 5 python中的内置高阶函数 map()函数和reduce(

5.初识python装饰器 高阶函数+闭包+函数嵌套=装饰器

一.什么是装饰器? 实际上装饰器就是个函数,这个函数可以为其他函数提供附加的功能. 装饰器在给其他函数添加功能时,不会修改原函数的源代码,不会修改原函数的调用方式. 高阶函数+函数嵌套+闭包 = 装饰器 1.1什么是高阶函数? 1.1.1函数接收的参数,包涵一个函数名. 1.1.2 函数的返回值是一个函数名. 其实这两个条件都很好满足,下面就是一个高阶函数的例子. def test1(): print "hamasaki ayumi" def test2(func): return t

python中的高阶函数

高阶函数英文叫Higher-order function.什么是高阶函数?我们以实际代码为例子,一步一步深入概念. 变量可以指向函数 以Python内置的求绝对值的函数abs()为例,调用该函数用以下代码: >>> abs(-10) 10 但是,如果只写abs呢? >>> abs <built-in function abs> 可见,abs(-10)是函数调用,而abs是函数本身. 要获得函数调用结果,我们可以把结果赋值给变量: >>> x

JavaScript设计模式与开发实践——读书笔记1.高阶函数(下)

上部分主要介绍高阶函数的常见形式,本部分将着重介绍高阶函数的高级应用. 1.currying currying指的是函数柯里化,又称部分求值.一个currying的函数会先接受一些参数,但不立即求值,而是继续返回给另一个函数,通过闭包存储起来.等到函数被真正需求要求值的时候,将之前传入的参数统一起来求值.例如,我们要计算一个月的开销,我们并不需要计算每天具体花了多少,而是需要计算月底总共花掉多少,也就是说,实际上我们只需要在月底计算一次.所以每个月的前29天,我们都只需要保存好当天的开销,到30

《JavaScript设计模式与开发》笔记 6.高阶函数

1.函数作为参数传递 1.回调函数 2.Array.prototype.sort 2.函数作为返回值输出 1.判断数据的类型 3.高级函数的实现AOP 4.高阶函数的其他应用 1.currying 函数柯里化 2.uncurring 3.函数节流 4.分时函数 5.惰性加载函数 1.函数作为参数传递 1.回调函数 最经常用的或许就是异步Ajax了 var getUserInfo = function(userId,callback){ $.ajax("http://xxx.com/getUser