前言:函数式编程有什么用,为什么要学函数式编程?函数式编程是一种编程范式,可减少程序的错误和复杂度,提高代码的可维护性和可重用性。
1.定义:用一系列函数解决问题
函数可以赋值给变量,赋值后变量绑定函数。
允许将函数作为参数传入另一个函数。
2.高阶函数:将函数作为参数或返回值的函数
函数作为参数
将核心逻辑传入方法体,使该方法的适用性更广,体现了面向对象的开闭原则。
那什么是开闭原则呢?
对扩展开放,对修改封闭。
当软件系统需要进行功能扩展时,应该可以通过增加新的代码来实现,而不是修改已有的代码。开闭原则的核心思想是面向接口编程,通过抽象和封装来实现代码的可扩展性和可维护性。开闭原则和前面所提到的先确定用法后决定做法如出一辙,用法不能修改,但是能新加做法。
假如现在有两个需求:
1.定义函数,在列表中查找第一个奇数
2.定义函数,在列表中查找第一个能被3或5整除的数字
不使用函数式编程思想来实现:
# 不使用函数式编程思想
# 1.定义函数,在列表中查找第一个奇数
def find_first_odd(numbers):
for number in numbers:
if number % 2 != 0:
return number
# 2.定义函数,在列表中查找第一个能被3或5整除的数字
def find_first_divisible(numbers):
for number in numbers:
if number % 3 == 0 or number % 5 == 0:
return number
i