美文网首页
函数(三)

函数(三)

作者: qianranow | 来源:发表于2018-04-27 15:02 被阅读37次

0. 匿名函数


  • 概念:lambda函数 ,指 没有名字 的函数
  • 形式:
    1. 格式:lambda 参数1, 参数2, ...: 表达式
    
    2. 限制:
       (1) 只能写一个表达式,不能直接return
       (2) 表达式的结果就是返回值
       (3) 只适用于一些简单的操作处理
    
  • 场景
    l = [{"name": "wxx", "age": 18}, {"name": "xdy", "age": 6}, {"name": "xfq", "age": 3}]
    result = sorted(l, key=lambda x: x["age"])
    print(result)
    

1. 闭包


  • 概念
    1. 在函数嵌套的前提下
    2. 内层函数引用了外层函数的变量(包括参数)
    3. 外层函数,又把内层函数当做返回值进行返回
    4. 内层函数 + 所引用的外层变量,称为闭包
    
  • 形式
    def outside(a):
        b = 10
    
        def inner():
            print(a)
            print(b)
        return inner
    
    result = outside(10)
    result()
    
  • 场景
    # 外层函数,根据不同的参数,来生成不同作用功能的函数
    def line_config(content, length):
        def line():
            print("-"*(length // 2) + content + "-"*(length // 2)) 
        return line
    
    line1 = line_config("秦子阳", 40)
    line1()
    line2 = line_config("小清新", 80)
    line2()
    
  • 注意
    1. 闭包中, 若要修改引用的外层变量, 需要使用 nonlocal 声明变量; 
       否则当做是闭包内, 新定义的变量
    
       def demo():
           num = 66
           def inner():
               nonlocal num
               num = 88
               print(num)
           print(num)
           return inner
       result = demo()
       result()
    
    2. 值捕获 
       (1) 闭包在 "其被定义的上下文中" 捕获变量;
       (2) 即使定义这些变量的 "原作用域已经不存在";
       (3) 闭包仍然可以在 "被调用时" "引用和修改这些值"
        
       def test():
           funcs = []
           for i in range(1, 4):
               def test2(num):
                   def inner():
                       print(num)
                   return inner
               funcs.append(test2(i))
           return funcs
    
       newFuncs = test()
       print(newFuncs)
    
       newFuncs[0]()
       newFuncs[1]()
       newFuncs[2]()
    

相关文章

  • 积分表——不定期更新

    基本初等函数包括: 常函数: 幂函数 指数函数 对数函数 三角函数 反三角函数 I、反函数Ⅱ、复合函数:初等函数(...

  • 反函数与6个基本初等函数

    初等函数 基本初等函数包括幂函数、指数函数、对数函数、三角函数、反三角函数和常数函数。 幂函数 定义:一般地,形如...

  • 基本初等|基本|初等|非初等函数的区别

    1. 基本初等函数 常函数、幂函数、对数函数、指数函数、三角函数、反三角函数。 常函数:在数学中,常数函数(也称常...

  • 2018-07-03

    常见的初等数学图像 幂函数 指数函数 对数函数 三角函数 反三角函数

  • 三角函数公司大全图解

    三角函数定义 特殊三角函数值 三角函数公式大全

  • 基本初等函数

    讲解对象:基本初等函数作者:融水公子 rsgz 幂函数指数函数对数函数三角函数反三角函数

  • 浅析c++三大函数--GeekBand

    浅析c++ 三大函数 三大函数的特殊性 c++三大函数指的是拷贝构造、拷贝赋值、析构函数。这3个函数比较特殊: 一...

  • 三.函数

    函数是可重用逻辑的核心构件。函数式编程语言特别强调支持创建高可重用、可组合的函数。 在Scala中,函数...

  • 函数三

    作用域 作用域定义:变量和函数生效(能被访问)的区域 函数里边可以访问函数外边的东西,函数外不可以访问函数里的东西...

  • 函数(三)

    0. 匿名函数 概念:lambda函数 ,指 没有名字 的函数 形式:1. 格式:lambda 参数1, 参数2,...

网友评论

      本文标题:函数(三)

      本文链接:https://www.haomeiwen.com/subject/xhnblftx.html