首页 > 其他 > 详细

函数式编程

时间:2018-05-06 11:33:41      阅读:176      评论:0      收藏:0      [点我收藏+]

编程的方法论:

面向过程

面向对象

函数式

 

函数式编程的定义:

函数式=编程语言定义的函数+数学意义上的函数(先想到一个数学模型,再用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#返回值中包含函数名

 

函数式编程

原文:https://www.cnblogs.com/newt/p/8997586.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!