昨日回顾

  • 生成器:生成器就是迭代器,生成器是自己用python代码构建的

      1. 生成器函数
      2. 生成器表达式
      3. python内部提供的
    • 如何判断函数和生成器函数
      • yield
      • yield return
    • 吃包子的区别。
    • yield from将一个可迭代对象,变成一个生成器。
    • 列表推导式、生成器表达式。
      • 循环模式[变量(加工后的变量)for 变量 initerable]
      • 筛选模式[变量(加工后的变量)for 变量 initerable if..]
    • 内置函数。

今日内容

  • 如何学习?

    • 一定要预习预习
    • 分配比例
  • 匿名函数lambda

    • #匿名函数:一句话函数,比较简单的函数。
      
      #构建普通函数
      def func(a,b):
      return a+b
      #构建匿名函数
      lambda a,b:a+b
      #关键字 形参:返回值(可赋给一个变量)
      • 多复杂都一行
      • 一般结合内置函数用
  • 内置函数II

  • 闭包:封闭的东西、保证数据安全。

    • 全局变量万一失误被改变,数据不安全

    • 为了数据安全,不能设定为全局变量

    • 但放在局部,每次又会被清空

    • 方案:闭包

      • #封闭的东西:保证数据的安全。
        def make_averager():
        l1=[]
        def averager(new_value):
        l1.append(new_value)
        total=sum(l1)
        return total/len(l1)
        return averager
        avg=make_averager()
        print(avg(100000))
        print(avg(110000))
        print(avg(120000))
        print(avg(90000))

        闭包只能存在嵌套函数中,内层函数对外层函数非全局变量引用,这个变量被称为自由变量,这个变量会和内层函数产生绑定关系,而且在内存中不会消失

        • 闭包一定有自由变量

          #代码判断闭包,有无自由变量
          print(avg.__code__.co_freevars) #('l1',)

今日总结

  1. 匿名函数lambda
  2. 内置函数II
  3. 闭包

明日学习

装饰器

代码总行数1887+64=1951行

python13day的更多相关文章

随机推荐

  1. 【LeetCode】1023. Camelcase Matching 解题报告(Python)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 正则+字典 日期 题目地址:https://leet ...

  2. 【LeetCode】268. Missing Number 解题报告(Java & Python)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 求和 异或 日期 题目地址:https://leet ...

  3. 【LeetCode】807. Max Increase to Keep City Skyline 解题报告(Python &C++)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 日期 题目地址:https://leetcode.c ...

  4. POJ 3278:The merchant(LCA&DP)

    The merchant Time Limit: 3000MS   Memory Limit: 65536K Total Submissions: 6864   Accepted: 2375 Desc ...

  5. TCP/IP协议竟然有这么多漏洞

    网络攻击是指利用网络存在的漏洞和安全缺陷对网络系统的软硬件及其系统数据进行攻击的行为.TCP/IP协议作为网络的基础协议,从设计之初并没有考虑到网络将会面临如此多的威胁,导致出现了许多攻击方法.由于网 ...

  6. Java初学者作业——编写Java程序,实现用户登录验证。

    返回本章节 返回作业目录 需求说明: 编写Java程序,实现用户登录验证. 若用户名与密码输入正确,则提示"登录成功,欢迎回来!",若用户名与密码不匹配,则提示"用户名和 ...

  7. Android开发布局 案例二

    实践案例: XML <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:an ...

  8. Drools集成SpringBootStarter

    1.说明 基于fast-drools-spring-boot-starter, 能够方便的将规则引擎Drools集成到Spring Boot, 基于前面介绍过的文章Drools集成SpringBoot ...

  9. CSS基础-3 文字知识

    文字知识 一.浏览器文字默认大小为16px; 行高默认大小为18px; 行高 = 文字大小 + 文字上边距 + 文字下边距 或者是 行高 = 两条基线之间的距离                    ...

  10. nalu,在java中使用lambda查询数据库

    不忘初心 最开始接触写代码的时候,用的是C井,查数据库直接硬编码sql,挺难受的. 后来学习到EntityFramework,用起来是真香,都是强类型,各种智能提示,代码写起来极度舒适,效率起飞. 最 ...