Python高阶函数

Python高阶函数,第1张

  • 函数式编程的一个特点就是,允许把函数本身作为参数传入另一个函数,还允许返回一个函数!
  • 高阶函数
    • 变量可以指向函数
    • 函数名也可以是变量
i=abs(-5)
print(i)
print(abs)#
f=abs
print(f)#
print(f(-5))

5

5
  • 可以看到,我们将调用函数的结果,赋值给变量 i ,这样变量就可以打印出结果,如果将函数本身赋值给变量f ,那么变量也拥有这个函数的功能,这个变量将指向这个函数,使用变量 f ()来调用函数和直接调用abs()效果是一样的
abs=5
print(abs)#5
print(abs(-5))#TypeError: 'int' object is not callable
  • 我们看到,abs这个变量被赋值5,然后使用abs(-5)调动函数,发现异常,此时abs变量指向的不是函数,而是一个int类型的 5 ,由此可以看出函数名其实就是变量

  • 我们想到,函数可以传参数,而函数名可以做变量,那我们函数里面的参数,也可以传入函数名。将函数作为参数,传给另一个参数就是高阶函数

def fun1(i):
    return i*2

def fun2(x,y,fun1):
    return fun1(x)+fun1(y)

sum=fun2(2,3,fun1)
print(sum)

10

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1295032.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-10
下一篇 2022-06-10

发表评论

登录后才能评论

评论列表(0条)

保存