day11 高阶函数 函数式编程

本文探讨了高阶函数的概念,包括将函数作为参数传递和作为返回值使用的方法。通过示例展示了如何使用高阶函数进行递归,并比较了面向过程与函数式编程的不同之处。函数式编程虽精简代码但可能降低可读性。
  高阶函数,满足
    接收函数作为参数或者返回有函数

  函数可以当做参数传递给另一个函数
1 def foo(n):
2     print(n)
3 def bar(name):
4     print("my name is %s" %name)
5 foo(bar("yangtuo"))

 
返回值可以是函数
1 def bar():
2     print("from bar")
3 def foo():
4     print("from foo")
5     return bar
6 
7 n = foo()
8 n()


返回值也可以是自己,即递归
1 def foo():
2     print("from foo")
3     return foo
4 
5 n = foo()
6 n()


返回值可以函数运算的结果
1 def bar():
2     print("from bar")
3 def foo():
4     print("from foo")
5     return bar()
6 foo()
7 n = foo()
8 print(n)

 

面向过程
拆分步骤,可读性好
没有返回值
函数式
编程余元定义的函数 + 数学意义的函数
精简代码,但是可读性差
不存在赋值操作
不修改变量,函数即变量

转载于:https://www.cnblogs.com/shijieli/p/9689593.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值