• python函数式编程


    什么是函数式编程?

          函数式编程(functional programming)是一种编程范式,也就是如何编写程序的方法论。目前我们所熟知的是命令式编程,这里的命令式编程语言泛指所有把修改变量的值当作最基本计算方式的语言,函数式编程语言指把一个程序的输出定义为其输入的数学函数的语言,纯函数式编程没有内部状态的概念,也没有副作用。

    函数式编程的特点

    1、函数即对象

         函数可以直接赋给变量

    2、有属性和方法

    >>> my_sum = sum
    >>> sum([1,2,3])
    6
    >>> my_sum([1,2,3])
    6
    >>> dir(my_sum)
    ['__call__', '__class__', '__cmp__', '__delattr__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__le__', '__lt__', '__module__', '__name__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__self__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__']
    >>> my_sum.__name__
    'sum'

    3、函数可以做参数

    >>> def f(a,b):
    ...     return a + b
    ... 
    >>> def f1(func,a,b):
    ...     return func(a,b)
    ... 
    >>> f1(f,1,3)
    4

    函数式编程和命令式编程的区别

    目标:分别使用函数式编程和命令式编程实现 f(a,b,c,d) = (a+b)*c-d

    命令式编程:

    def f1(a,b,c,d):
        e = a + b
        f = e * c
        g = f - d
        return g
    
    #命令式编程实现
    ret = f1(a,b,c,d)

    函数是实现:

    def f_add(a,b):
        return a + b
    
    def f_sub(a,b):
        return a - b
     
    def f_multi(a,b):
        return a * b
    
    #函数式编程实现
    ret = f_sub(f_multi(f_add(a,b),c),d)
  • 相关阅读:
    element:记一次重置表单引发提交数据为默认数据现象
    三种常用又简单的排序算法
    (07)GitHub从2021.08.13开始使用Token代替账号和密码
    does not implement methodSignatureForSelector:
    自用python库
    2048
    CCSP2021游记
    2021 CCPC 桂林站游记
    2021 ICPC 沈阳站游记
    2021SDU新生赛游记
  • 原文地址:https://www.cnblogs.com/max-hu/p/6218142.html
Copyright © 2020-2023  润新知