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

    编程的方法论:

    面向过程

    面向对象

    函数式

    函数式编程的定义:

    函数式=编程语言定义的函数+数学意义上的函数(先想到一个数学模型,再用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#返回值中包含函数名
  • 相关阅读:
    数据库事务之不可重复读
    数据库事务与脏读
    图结构代码实现
    哈希表与散列函数
    数据库表设计与视图
    B树和B+树
    java之字符串中查找字串的常见方法
    剑指 Offer 15. 二进制中1的个数——JS
    剑指 Offer 03. 数组中重复的数字——JS
    算法设计与分析——排序
  • 原文地址:https://www.cnblogs.com/newt/p/8997586.html
Copyright © 2011-2022 走看看