可迭代对象和异常捕获


常用内置函数

  • map() 映射

  • zip() 拉链

  • max与min max求最大值 min求最小值

  • filter 过滤

  • reduce 归总

可迭代对象

  • 迭代:
    迭代即更新换代,每一次的更新都必须依赖上一次的结果
  • 可迭代对象
    内置有__iter__方法都可称为可迭代对象,内置的意思是可以通过点的方式直接查看到的

    可迭代对象调用__iter__方法会变成迭代器对象(老母猪),还有一个简便的写法iter(),一般情况下所有的双下方法都会有一个与之对应的简化版本

迭代器对象

  • 定义:
    含有__iter__和__next__的方法
  • 如何生成可迭代对象:
    即让可迭代对象执行__iter__方法
    (文件对象本身即是可迭代对象又是迭代器对象,迭代器对象无论执行多少次__iter__方法还是迭代器对象)

for循环的本质

*** eg:**

  • for循环内部原理:
    1、将关键字in后面的数据先进性调用__iter__方法转为可迭代器对象
    2、循环执行__next__方法
    3、所有值取完之后再进行__next__方法会报错

异常捕获

  • 什么是异常
    代码运行过程中会出错导致异常,异常发生后如果没有解决方案则会导致程序直接结束

  • 异常的三个重要组成部分
    1、traceback
    在一个出错代码的报错部分的末尾,第一个蓝色字体,鼠标左键进行点击即可跳转到错误代码所在的行
    2、xxxError
    代表错误的类型
    3、错误类型冒号后面的内容
    代表错误的详细原因,查看后可知因何而错,从而找到解决方法

  • 错误的种类
    1、语法错误
    不可原谅
    2、逻辑错误
    在允许范围

  • 异常的基本语法结构
    try:
    有可能会出错的代码
    except 错误类型 as e:
    出错之后对应的处理机制(e是错误的详细信息)
    except 错误类型 as e:
    出错之后对应的处理机制(e是错误的详细信息)
    except 错误类型 as e:
    出错之后对应的处理机制(e是错误的详细信息)

  • 万能异常

**1.有可能会出现错误的代码才需要被监测
2.被监测的代码一定要越少越好
3.异常捕获使用频率越低越好
**

py