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

    1.特性1:不可变,不用变量保存状态,不修改变量

    n = 1
    def incr_test1(n):
        return n+1
    print(incr_test1(2))
    print (n)

    2.高阶函数,函数接收的参数是一个函数名

    def foo(n):#第三步
        print(n)
    
    def bar(name):#第一步
        print('my name is %s'%name)#第二步
    # 没有返回值,故返回默认值:None ,所以传个foo函数的是none
    foo(bar('alex'))#将函数bar运行的结果给foo函数

    3返回值中包含函数

    def bar():
        print('from bar')
    def foo():
        print('from foo')
       # return bar() #可以这么写,这么写之后就不用将 foo()函数的运行结果赋值给n,然后再让n去调用bar()函数了;
        return bar
    n=foo()
    n()

    4.返回值中可以是函数自己,可以是任意函数

    def handle ():
        print('from handle')
        return handle
    h=handle()
    h()

  • 相关阅读:
    ICMP协议
    观察者模式-Observer
    模板方法模式-Template Method
    Java的演变过程
    汉诺塔-Hanoi
    外观模式-Facade
    JDK5-增强for循环
    JDK5-可变参数
    动态代理与AOP
    代理模式-Proxy
  • 原文地址:https://www.cnblogs.com/renzhiqiang/p/10930416.html
Copyright © 2011-2022 走看看