zoukankan      html  css  js  c++  java
  • python函数式编程

    函数式编程关心数据的映射,命令式编程关心解决问题的步骤。就是比较适用于数据运算和处理的一些场景,函数式编程就是一种抽象程度很高的编程范式,纯粹的函数式编程语言编写的函数没有变量,因此,任意一个函数,只要输入是确定的,输出就是确定的,这种纯函数我们称之为没有副作用。而允许使用变量的程序设计语言,由于函数内部的变量状态不确定,同样的输入,可能得到不同的输出,因此,这种函数是有副作用的。函数编程其实只有一个核心特征:有效排除函数副作用(Side-effect),即用纯函数[3]。排除函数副作用的函数也叫做纯函数(Pure Function)。那么什么是Side-effect呢?就是影响除了这个函数本身以外的任何东西。比如,如果一个函数修改了全局变量,那么它不是纯函数;如果一个函数包含了IO操作,如读取数据库,他不是纯函数;如果一个函数包括生成随机数,他不是纯函数,因为每次调用函数都会返回不同的数值。

    纯函数有两个主要的优势:

    无状态。线程安全。不需要线程同步。(还记得并行的优势吗?惰性也跟这个密不可分)

    纯函数进行组装后,仍然是纯函数。(是不是想到了高阶函数?)

    因为有了纯函数,在函数编程中,表达式(expression)和值(Value)才可以互换。

  • 相关阅读:
    PTA习题解析——银行排队问题
    线性表结构详解
    SkipList (跳跃表)解析及其实现
    C++面向过程编程
    WEB 性能测试用例设计以及总结
    PHP设计模式概述
    影响Linux发展的四位天才黑客
    从Linux 与 Unix 异同,看开源世界的发展!
    移动开发的跨平台技术演进
    AI和机器学习对云应用的安全产生了何种影响?
  • 原文地址:https://www.cnblogs.com/aijing/p/13157018.html
Copyright © 2011-2022 走看看