函数式编程

编程的方法论:

面向过程

面向对象

函数式

函数式编程的定义:

函数式=编程语言定义的函数+数学意义上的函数(先想到一个数学模型,再用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(x):
    if x > 1:
        return ture
    elif x == 1:
        return false  #最后一步
    else:
        return Ture
test(
1)




高阶函数:1。函数接收的参数是一个函数名 或者2#返回值中包含函数名
原文地址:https://www.cnblogs.com/newt/p/8997586.html