函数式编程方式往往令人生畏,初学者只需要理解两个概念即可

Posted Software科技言

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了函数式编程方式往往令人生畏,初学者只需要理解两个概念即可相关的知识,希望对你有一定的参考价值。

函数式编程可能令人生畏,但请记住,它不仅适用于博士,数据科学家和建筑宇航员,对于我们大多数人来说,采用函数式风格的真正好处是我们的程序可以分解为更小,更简单的部分,这些部分更可靠,更易于理解。如果你是前端开发人员,特别是使用D3,Raphael等格式化数据以进行可视化,那么函数式编程将成为你工具库中的重要武器。


我们都知道函数式编程的没有一致定义是的,而且大多数文献都依赖于某些预兆语句,如“作为一等对象的函数”和“消除副作用”,以防万一不会让你的大脑陷入困境,在更理论的层面上,函数式编程通常用lambda演算来解释(有些人实际上认为函数式编程基本上是数学)让你你可以放松一下。从更实用的角度来看,初学者只需要理解两个概念,以便将它用于日常应用(无需演算)


首先,函数式编程中的数据应该是不可变的,这可能感到很奇怪,但实际上,你只需要创建新的数据结构而不是修改已经存在的数据结构,例如,如果您需要操作数组中的某些数据,那么您将使用更新的值创建一个新数组,而不是修改原始数组。

其次,函数式编程应该是无状态的,这基本上意味着它们应该像第一次一样执行每项任务,而不知道程序执行早期可能发生的事情或者可能没发生的事情。结合不变性,这有助于我们将每个功能视为在真空中运行,除了其他功能之外,对应用程序中的任何其他内容一无所知。更具体地说,这意味着你的函数将仅对作为参数传入的数据进行操作,并且永远不会依赖外部值来执行其计算。


不可变性和无状态是函数式编程的核心,对初学者理解函数式编程很重要。

本文为原创文章,未经许可不得转载。


以上是关于函数式编程方式往往令人生畏,初学者只需要理解两个概念即可的主要内容,如果未能解决你的问题,请参考以下文章

python---面向对象

python基础之面向对象

python之面向对象编程一

JS函数式编程和递归探索:路由树的操作

Python 面对对象编程

Python-5 面对对象编程