zoukankan      html  css  js  c++  java
  • 高阶函数

    高阶函数:

      可以把函数作为参数传入,这样的函数叫做高阶函数。

      高阶函数除了可以接受函数作为参数外,还可以把函数作为返回值。

    def func(a,b,c):
      return c(a)+c(b)
    print(func(-3,4,abs))

    #7

    把函数做为返回值:

    def func(*args):
      def sum():
        a = 0
        for i in args:
          a += i
          return a
      return sum

    x=func(1,2,3)
    print(x)
    print(x())

    <function func.<locals>.sum at 0x00000000006E01E0>
    6

    闭包:

      一个闭包就是你调用了一个函数A,这个函数A返回了一个函数B给你。这个返回的函数B就叫做闭包。

      你在调用函数A的时候传递的参数就是自由变量。

    def count():
      fs=[]
      for i in range(1,4):
        def f():
          return i*i
        fs.append(f)
      return fs

    f1,f2,f3=count()
    print(f1())
    print(f2())
    print(f3())

    9
    9
    9

    def count1():
      def f(j):
        def g():
          return j*j
          return g
      fs=[]
      for i in range(1,4):
        fs.append(f(i))
      return fs

    f1,f2,f3=count1()
    print(f1())
    print(f2())
    print(f3())

    1
    4
    9

  • 相关阅读:
    re模块---正则表达式
    configparser 配置文件模块
    svn服务器配置
    python中的list的方法
    python正则表达式
    os模块
    高阶函数
    递归
    推导式
    [转]Java中的多线程你只要看这一篇就够了
  • 原文地址:https://www.cnblogs.com/fanxuanhui-linux/p/5901746.html
Copyright © 2011-2022 走看看