Python 之路Day13

匿名函数

  • 一行函数

  • lambda == def -- 关键字

    • lambda x:x

      • x 是普通函数的形参(位置,关键字……)可以不接收参数,可以不写

      • :x 是普通函数的函数值(只能返回一个数据类型),必须写

  • 匿名函数的名字叫做lambda

  • lst=[lambda :i for i in range(5)]
    print(lst[0]())
    #结果:4
  • 函数体中存放的是代码,生成器体中存放的也是代码

    • yield导致函数和生成器的执行结果不统一

内置函数二

  • 重点讲解enumerate() open() range() len() str() list() tuple() dict() set() print() sum() abs() dir() zip() format() reversed() filter() map() sorted() max() min() reduce()

普通

  • str() list() tuple() dict() set() print() sum() abs() dir() zip() format() reversed()

  • 分讲:

    • print() --

    • abs() -- 取绝对值

    • dir() -- 查看当前对象所有方法

    • zip() -- 拉链

    • format() -- 格式、转换

    • reversed() -- 反转

高阶

  • filter() map() sorted() max() min() reduce()

  • 分讲:

    • filter() -- 过滤(1. 指定过滤的规则(函数的内存地址--代码) 2. 要过滤的数据)

    • map() -- 映射函数(将每个元素都执行了指定的方法)

    • sorted() -- 排序

    • max() -- 最大值

    • min() -- 最小值

    • reduce() --

      • from functools import reduce-- 累计算

闭包

  • 在嵌套函数内使用(非本层变量)和非全局变量就是闭包

  • def func():
       a=1
       def foo():
           print(a)
       print(foo.__closure__)   # 返回的有内容就是闭包,返回None就不是
    func()
  • 作用:

    • 保护数据的安全性

    • 装饰器

原文地址:https://www.cnblogs.com/zlx960303/p/11972917.html