首页 > 其他分享 >异常处理(补充)及生成器基础知识

异常处理(补充)及生成器基础知识

时间:2022-10-17 20:11:50浏览次数:57  
标签:end 迭代 补充 生成器 yield 基础知识 start num

昨日内容回顾

  • 重要内置函数

    map()映射 zip()拉链 filter()过滤 sorted()排序

  • 常见内置函数

    abs() round() bytes() int() bin() oct() hex() chr() ord() eval() exec()等等

  • 迭代器对象

    内置方法中含有双下iter方法的数据。包括字符串、列表、字典、元组、集合。

  • 可迭代对象

    对可迭代对象使用双下iter方法得到的结果为可迭代对象,可迭代对象可调用双下next方法。

  • for循环本质

    for循环本质是对可迭代对象调用双下iter及双下next方法,取值完成后捕获错误并处理。

  • 异常捕获基础

    异常分为语法错误及逻辑错误。

    报错的基本句型:异常位置、异常类型、相关提示。

今日内容概要

  • 异常类型
  • 异常处理基本结构
  • 异常处理其他关键字
  • 异常处理补充
  • 生成器相关

今日内容详细

异常类型

语法错误 SyntaxError

名称错误 NameError

索引错误 IndexError

键错误 KeyError

缩进错误 IndentationError

……

异常处理基本结构

使用try及except关键字,try调用内存监测下方子代码,except根据错误类型做相关操作。

try:
    """code to be executed"""
except """Error type""" as e:
	"""resolution to the error"""

异常处理其他关键字

通用错误类型关键字 Exception/BaseException

使用上述两个关键字可以对所有错误类型做统一操作。

正常运行对应处理关键字 else

若try下方子代码未出现错误,则运行else对应子代码。

最终处理关键字 finally

无论try监测的子代码是否报错,均会运行finally下方子代码。

异常处理补充

断言 assert

assert后跟预测的结果,若预测正确,则代码继续向下运行,若预测错误,则报错断言错误。

主动报错 raise

raise后跟错误类型及错误提示,可在满足条件时主动报错。

生成器相关

生成器本质是迭代器对象,与一般迭代器的对象的区别是,生成器是程序员自己定义的。

含有yield关键字的函数运行后函数转换为生成器。

生成器调用双下next方法后,函数停止在yield关键字处,再次调用从yield处继续向下运行。

yield关键字类似与return,后方可跟返回值。

yield冷门用法:在定义生成器时,使用yield赋值给形参,调用时配合迭代器对象的send方法将数据传给需要赋值的形参。

利用生成器知识模拟range方法

def my_range(start_num=0, end_num=None, step_num=1):
    if end_num:
        if start_num < end_num:
            while start_num < end_num:
                yield start_num
                start_num += step_num
        elif start_num == end_num or step_num == 0:
            yield start_num
        elif start_num > end_num and step_num > 0:
            yield quit()
        else:
            while start_num > end_num:
                yield start_num
                start_num += step_num
    else:
        end_num = start_num
        start_num = 0
        while start_num < end_num:
            yield start_num
            start_num += step_num

标签:end,迭代,补充,生成器,yield,基础知识,start,num
From: https://www.cnblogs.com/akazukis/p/16800435.html

相关文章

  • 异常处理 生成器
    今日内容异常常见类型NameErrorIndentationErrorSyntaxErrorKeyErrorSyntaxError异常处理语法结构1.基本语法结构try:待检测的代码(可能会出现错误的代码......
  • day16异常以及生成器
    目录今日内容详细异常常见类型异常处理语法结构异常处理补充异常处理实战应用生成器对象课堂练习yield冷门用法生成器表达式今日内容详细异常常见类型AttributeError......
  • 异常捕捉/生成器
    异常常见类型SyntaxError-语法错误NameError-变量名类型错误IndexError-索引错误KeyError-字典键错误IndentationError-缩进错误#注意我们最不允许犯的......
  • 异常处理、生成器对象、生成器表达式
    异常处理、生成器对象、生成器表达式目录异常处理、生成器对象、生成器表达式一、异常常见类型二、异常处理语法结构三、异常处理的补充四、异常处理的实战应用五、生成器......
  • 异常补充与生成器
    异常常见类型SyntaxErrorNameErrorIndexErrorKeyErrorIndentationError异常处理语法结构1.基本语法结构 try:待监测的代码(可能会出错的代码)excep......
  • 异常处理与生成器
    今日内容总结目录今日内容总结异常常见类型异常处理语法结构异常处理补充异常处理实战应用生成器对象yield冷门用法生成器表达式练习题异常常见类型SyntaxError 语法......
  • 异常常见类型、异常处理语法、补充、实战、生成器对象、表达式
    目录异常常见类型异常处理语法结构异常处理补充异常处理实战应用生成器生成器对象生成器函数生成器练习题yield其他用法生成器表达式异常常见类型SyntaxError:Python语......
  • 异常处理和生成器对象
    目录一.异常常见类型二.异常处理语法结构1.基本语法结构2.查看错误信息3.针对不同的错误类型定制不同的解决方案4.万能异常Exception/BaseException5.结合else使用6.结合f......
  • 异常、生成器
    异常、生成器异常常见类型异常以不同的类型出现,这些类型都作为信息的一部分打印出来:例子中的类型有SyntaxErrorNameErrorIndexErrorKeyErrorIndentationError......
  • 异常处理与生成器
    异常处理与生成器异常处理异常处理语法结构1.基本语法结构try:待监测的代码(感觉要BBQ的代码)except错误类型:针对上述错误制定的方案......