昨日回顾

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

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

今日内容

  • 如何学习?

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

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

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

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

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

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

    • 方案:闭包

        1. #封闭的东西:保证数据的安全。
        2. def make_averager():
        3. l1=[]
        4. def averager(new_value):
        5. l1.append(new_value)
        6. total=sum(l1)
        7. return total/len(l1)
        8. return averager
        9. avg=make_averager()
        10. print(avg(100000))
        11. print(avg(110000))
        12. print(avg(120000))
        13. print(avg(90000))

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

        • 闭包一定有自由变量

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

今日总结

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

明日学习

装饰器

代码总行数1887+64=1951行

python13day的更多相关文章

随机推荐

  1. Hamburger Magi(hdu 3182)

    Hamburger Magi Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)To ...

  2. codevs 1300:文件排版(DP)

    题目描述 写电子邮件是有趣的,但不幸的是经常写不好看,主要是因为所有的行不一样长,你的上司想要发排版精美的电子邮件,你的任务是为他编写一个电子邮件排版程序. 完成这个任务最简单的办法是在太短的行中的单 ...

  3. Python Revisited Day10 (进程与线程)

    目录 10.1 使用多进程模块 10.2 将工作分布到多个线程 <Python 3 程序开发指南>学习笔记 有俩种方法可以对工作载荷进行分布,一种是使用多进程,另一种是使用多线程. 10. ...

  4. 智慧巨鹿使用Rainbond落地实践,一个平台管理所有应用系统

    背景 大家好,我是北京数立通科技有限公司的李栋.最近几年,我一直负责"智慧巨鹿"这一智慧城市项目的运行与维护工作.这个项目涉及到10多家供应商开发的 30 多套智慧城市应用的运维管 ...

  5. RSA非对称加密算法实现:C#

    RSA是1977年由罗纳德·李维斯特(Ron Rivest).阿迪·萨莫尔(Adi Shamir)和伦纳德·阿德曼(Leonard Adleman)一起提出的.当时他们三人都在麻省理工学院工作.RSA ...

  6. Ranger开源贡献统计

    统计一下自己在Ranger开源社区贡献的Issue数量, 开源社区的Issue主要分为New Feature,Bug,Improvement, 这三种都是和代码相关的,会直接修改开源项目的代码库, 还 ...

  7. 深入 Laravel 内核之IOC容器

    升级工厂前的准备工作 无规矩不成方圆,随着越来越多的行为出现,我们需要需要定下一些规范. 为了约束每一个行为的规范,需要定义一个行为接口: interface BehaviorInterface { ...

  8. 简单的sdn防火墙

    github仓库 演示视频 本次实验建立的拓扑 使用到的 pox 指令介绍,参考pox控制器学习笔记 1. forwarding.l2_learning 使OpenFlow交换机充当L2学习交换机的一 ...

  9. Centos6.9虚拟机环境搭建

    原文链接:https://www.toutiao.com/i6481534700216123918/ 一.准备工具 VMware Workstation CentOS-6.9-x86_64-minim ...

  10. css处理工具PostCss

    在 Web 应用开发中,CSS 代码的编写是重要的一部分.CSS 规范从最初的 CSS1 到现在的 CSS3,再到 CSS 规范的下一步版本,规范本身一直在不断的发展演化之中.这给开发人员带来了效率上 ...