内置函数、迭代器和异常捕获

内置函数

  python解释器自带的函数就是内置函数,以下为几个常见例子。

  1.map() 映射

    映射指的是数据的一一对应关系。

    使用映射与匿名函数,可以简单的将列表元素进行转变。

 

 

  2.zip() 拉链

    zip的作用是将多个列表的元素按索引顺序组合成一个元素,再放进一个列表里。

 

 

  3.max()和min() 最大和最小

    max和min方法可以找出数据集中最大和最小的数。

    如果是字符串类型则按照ASCII码表来判断。

 

 

    此外,max和min方法通过和匿名函数配合,可以方便的找出字典中最大和最小的v值所对应的k值。

 

 

  4.filter() 过滤

    filter方法的作用是将数据按照某些条件筛选出来。

 

 

  5.reduce() 归总

    reduce的作用将列表内的数字求和。

 

 

 

可迭代对象

  迭代

    迭代指不断更新换代,每一次的更新都是基于上一次的结果。

    迭代其实给了我们一种无需索引的取值方式。

  迭代取值与索引取值对比

    迭代取值

      优点: 1.不依赖于索引的一种通用取值方式。

      缺点: 1.取值的顺序永远都是固定的从左往右 无法重复获取。

    索引取值

      缺点: 1.需要提供有序容器类型才可取值(不是一种通用的方式)。

      优点: 1.可以重复取值。

 

 

  可迭代对象

    内置方法中有__iter__的都是可迭代对象。

 

    有__iter__方法的包括:

      字符串,列表,字典,元组,集合,文件。

    这些全都被称为可迭代对象。

    可迭代对象调用__iter__就会变成迭代器对象。

  关于双下划线开头的方法

    针对双下滑线开头 双下滑线结尾的方法 最为专业标准的读法为:

      双下方法名

    双下划线开头的方法都有一个简单的调用方式:

      方法名()

 

 

迭代器对象

  迭代器对象指即含有__iter__方法又有__next__方法。

  可迭代对象调用__iter__后就会变成迭代器对象。

  文件既是可迭代对象,优势迭代器对象。

  迭代器对象无论执行多少次__iter__方法还是迭代器对象本身。

  迭代器对象为我们提供了一种无需索引的取值方式。

 

 

  迭代器对象执行__next__方法其实就是在迭代取值。

  需要注意的是,当迭代器对象没有可取的值时,再进行迭代取值就会报错。

 

异常捕获

  什么是异常

    代码运行出错会导致异常,异常发生后如果没有解决方案会直接结束整个程序。

  异常的三个重要组成部分

    1.traceback

      翻到最下面从下往上的第一个蓝色字体鼠标左键点击即可跳转到错误代码所在的行。

    2.XXXEroor

      意为错误的类型

    3.错误类型冒号后的内容

      错误的详细原因(认真看可能就能找到解决方法)

  错误的种类

    1.语法错误

      不被允许的错误,出现了应该立刻修改。

    2.逻辑错误

      是被允许的,出现了尽快修改即可。

      程序员修改逻辑错误的过程就是从头到尾理清思路的过程

  基本语法结构

    try:

      优肯出错的代码

    except 错误类型 as e:

      出错之后的类型处理机制(e是错误的详细信息)

 

 

  异常捕获句式和万能异常

    1.万能异常 Exception,可以用作所有类型的异常。

    2.有可能出现错误的代码才需要被检测。

    3.被监测的代码越少越好。

    4.异常捕获的使用频率越低越好。

 

 

 

 

  else和finally

    异常捕获句式中可使用else和finally达成不同的目的。

    else的作用是当异常捕获不触发时会输出else下的代码。

    finally的作用是不管有没有异常发生,都会输出finally下的代码。

 

   断言

    断言的作用是判断数据的类型,当判断出错时就会报错。

 

 

  主动报异常

    当需要错误预警的时候,可以使用主动发出异常的方式来主动触发报错。

    方式是raise+错误类型。

    

 

 

for循环的本质

  for循环内部原理

    1.将关键字in后面的数据先调用__iter__方法转为迭代器对象。

    2.循环执行__next__方法。

    3.取完之后__next__方法会报错,然后利用异常捕获机制捕获该错误并处理。

 

posted @   临江沂水  阅读(30)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示