Python(什么是高级函数?)

文章介绍了Python中的高级函数概念,通过示例展示了如何将函数赋值给变量,以及函数可以作为其他函数的参数。文中提到,当函数名被赋值给变量后,该变量就指向了函数本身,可以像调用函数一样调用这个变量。此外,文章还通过一个错误示例说明了如果函数名被赋值为非可调用对象(如整数)会导致调用失败。最后,文章提供了一个接受函数作为参数的例子来进一步阐述这一概念。
摘要由CSDN通过智能技术生成

什么是高级函数?

举个例子?

Python的内置函数中有一个函数"abs()",那我调用abs()函数来做个简单的测

print(abs(-10))
结果——————>10

那么结果为什么是10,因为这个函数的作用是求绝对值,我在换另外一种方法进行调用

a=abs(-10)
print(a)
结果——————>10

这个结果还是10,有么有发现,我把abs()函数本身赋值给了变量a,也就是说,我打印输出的是变量a,结果和打印函数一样,在这里我得出一个结论,函数本身可以赋值给变量,那么我在做一个小测试

a=abs

print(a(-10))
结果——————>10

把函数直接赋值给变量a,然后再用变量a去使用,结果输出的还是10,说明变量a现在已经指向了abs函数本身。直接调用abs()函数和调用变量a()完全相同。

其实我在使用a的时候a会变成abs,也就是a就是abs,也就是函数名就是变量

那么函数名是什么呢?函数名其实就是指向函数的变量!对于abs()这个函数,完全可以把函数名abs看成变量,它指向一个可以计算绝对值的函数!

如果把abs指向其他对象,会有什么情况发生?

abs = 10
>>> abs(-10)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'int' object is not callable

把abs指向10的时候,就无法通过abs(-10)调用这个函数,因为这个函数指向的不是求绝对值,而是整数10,所以调用不成功。

下面做一个小demo

def add(a,b,c):
        retrrn c(a)+c(b)

a = -5
b = 10
c = abs
c(a)+c(b) = abs(-5)+abs(10) == 15

return 15

我们在调用add(a,b,c)的时候,参数a,b,c就会跟着定义,计算出的结果自然就是返回的值

做个总结

变量可以指向函数,函数的参数能接收变量,那么一个函数就可以接收另一个函数作为参数,我们成为高级函数

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值