千锋教育-做有情怀、有良心、有品质的职业教育机构

python之什么是函数式编程?

来源:千锋教育
发布时间:2023-11-06 07:00:37
分享

函数式编程(简称FP)是一种编程范式,其中最基本的元素是不可修改的值,以及不与其他函数共享状态的“纯函数”。纯函数对于给定的输入永远返回同样的输出,而且不会修改任何数据,也不会造成副作用。因此,纯函数经常与数学运算比较。例如,3+4永远等于7,不管同时进行了其他任何数学运算,也不管之前进行了多少次加法运算。

有了纯函数和不可修改的值,程序员就可以创建逻辑结构了。迭代可以用递归代替,因为递归才是让同一个动作多次执行的“函数式”做法。函数使用新的输入调用自己,直到参数满足某个终止条件。此外,还有高阶函数,它的输入是其他函数,返回另一个函数。我稍后会介绍这个概念。

尽管函数式编程从上世纪五十年代就出现了,而且许多语言也都实现了它,但它并没有完全地描述一门语言。Clojure、CommonLisp、Haskell和OCaml都是以函数式为主的语言,也都融合了其他不同的编程语言概念,如类型系统、严格或懒惰求值等。大多数语言还用某种方法支持副作用,如写入文件、读取文件等,通常这些副作用都被仔细地标记为“不纯净”。

人们通常都认为函数式很深奥,而且与可实践性相比,它更看重优雅和简洁。大公司很少会在大规模项目上依赖于函数式为主的语言,即使要用也是在较小的范围内,远远不如其他C++、Java、Python等语言流行。但是,FP实际上只是一种框架,一种考虑逻辑流的方式,它本身也有优点和缺点,而且也能与其他编程范式配合使用。

以上内容为大家介绍了python之什么是函数式编程?希望对大家有所帮助,如果想要了解更多Python相关知识,请关注IT培训机构:千锋教育。https://www.mobiletrain.org/

声明:本站部分稿件版权来源于网络,如有侵犯版权,请及时联系我们。

相关推荐

  • Python机器学习之AdaBoost算法 算法概述AdaBoost是英文AdaptiveBoosting(自适应增强)的缩写,由YoavFreund和RobertSchapire在1995年提出。AdaBoost的自适应在于前一个基本分类器分
  • Python对象的创建 python会用两种方法创建对象,一种是泛型API(AOL:AbstractObjectLayer),可以应用在任何Python对象上,API内不会有机制确定最终调用哪个具体函数,比如PyObject
  • Python中的对象 Python中一切皆是对象。————GuidovanRossum(1989)这句话只要你学过python,你就很有可能在你的Python学习之旅的前30分钟就已经见过了,但是这句话具体是什么意思呢?一
  • Python的元组 什么是python元组?java中可没有听过内置元组这样的数据结构。在前面已经讲了列表,知道一个列表可以存储多个数据结构。元组和列表很像,但要记住它们间的一个重要区别:元组是不可变的。如何创建元组?把
  • Python类和对象 刚接触python中的类和对象,我也和大多数小伙伴一样迷茫,不知道它和我所熟知的java都有什么异同点,为此我还提出了一大堆问题如何创建和实例化类?是否和java一样有访问修饰符,分为几个级别?构造函
  • Python 性能剖分工具 眼看着项目即将完成,却被测试人员告知没有通过性能测试,这种情况在开发中屡见不鲜。接下来的工作就是加班加点地找出性能瓶颈,然后进行优化,再进行性能测试,如此这般周而复始直到通过性能测试。尽管丰富的工作经