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

    函数是Python内建支持的一种封装, 通过把大段代码拆成函数, 通过一层一层的函数调用, 就可以把唐娟的任务分解成简单的任务. 这种分解可以称之为面向过程的程序设计. 函数就是面向过程的程序设计的基本单元.

    在计算机的层次上, CPU执行的是加减乘除的指令代码, 以及各种条件判断和跳转指令. 所以,汇编语言是最贴近计算机的语言.而主版则指数学意义上的计算,越是抽象的计算,离计算机硬件越远.

    对应编程语言, 越低级的语言,越贴近计算机,抽象程度低,执行效率高, 比如c语言; 越高级的语言, 越贴近计算,抽象程度高,执行效率低,比如Lisp语言.

    函数式编程 (Functional Programming), 虽然也可以归结到面向过程的程序设计,但其思想更接近数学计算.

    • 函数式编程是一种抽象程度很高的编程范式.
      • 纯粹的函数式编程语言编写的函数没有变量,因此,任意一个函数,只要输入是确定的, 输出就是确定的.这种纯函数没有副作用.
      • 允许使用变量的程序设计语言,由于函数内部的变量状态不确定, 同样的输入, 可能得到不同的输出,因此,这种函数是有副使用的.
    • 函数式编程的特点
      • 允许把函数本身作为参数传入另一个函数,还允许返回一个函数
    • 函数式编程语言: lisp, hashshell, erlang

    Python对函数式编程提供部分支持. 由于Python允许使用变量, 因此 , Python不是纯函数式编程语言.

    例:

    1. 数学表达式

     (1+2)*3-4

    2. 传统的过程式编程, 可能这样写:

      

    1 var a = 1+2;
    2 var b = a*3;
    3 var c = b-4;

    3. 函数式编程要求使用函数. 可以把运算过程定义到不同的函数, 然后写成下面这样:

    var result = subtract(multiply(add(1,2)3),4)
  • 相关阅读:
    Android AHandle AMessage
    android java 与C 通过 JNI双向通信
    android 系统给应用的jar
    UE4 unreliable 同步问题
    UE4 difference between servertravel and openlevel(多人游戏的关卡切换)
    UE4 Run On owing Client解析(RPC测试)
    UE4 TSubclassOf VS Native Pointer
    UE4 内容示例网络同步Learn
    UE4 多人FPS VR游戏制作笔记
    UE4 分层材质 Layerd Materials
  • 原文地址:https://www.cnblogs.com/cheese320/p/8893159.html
Copyright © 2011-2022 走看看