函数式编程

Posted monster7

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了函数式编程相关的知识,希望对你有一定的参考价值。

编程的方法论:

面向过程

面向对象

函数式

 

函数式编程的定义:

函数式=编程语言定义的函数+数学意义上的函数(先想到一个数学模型,再用python上的功能实现这个逻辑)

 

y = x + 1

def cat():
    return x + 1

 

 

特性:

1.不用变量保存状态,意思就是不赋值,而且不修改变量

2.第一类对象:函数即变量

高阶函数1。函数接收的参数是一个函数名  2#返回值中包含函数
把函数当作参数传给另外一个函数
def foo(n): #n=bar
    print(n)

def bar(name):
    print(my name is %s %name)

# foo(bar)  bar是内存地址
# foo(bar())  bar()是none 因为没有返回值
foo(bar(alex))

my name is alex
none

3.返回值当中包含函数

def foo():
    print(from bar)
    return foo
def hanle():
    print(from handle) $这是一个完整的自己调用自己,要赋值
    return hanle
h=hanle()  
h()
def test1():
    print(from test1)
def test2():
    print(from handle)
    return test1()  #表示return一个返回值,一定要test1函数运行完才能得到一个return值

4.尾调用:在函数的最后一步调用另一个函数(最后一行不等于最后一步),比如下面这个函数

def test():
    if x > 1:
        return ture
    elif x == 1:
        return false
    else:
        return hehe
test(1)

 



高阶函数:1。函数接收的参数是一个函数名 或者2#返回值中包含函数名

 

以上是关于函数式编程的主要内容,如果未能解决你的问题,请参考以下文章

《On Java 8》中文版 第十三章 函数式编程

web代码片段

html 将以编程方式附加外部脚本文件的javascript代码片段,并按顺序排列。用于响应式网站,其中ma

Python函数式编程,范围和变量。我哪里错了?

前端必学——函数式编程

理解响应式编程