ParisGabriel:Python全栈工程师(0基础到精通)教程 第二十一课(包、模块 的导入)

ParisGabriel

每天坚持手写  一天一篇  决定坚持几年 为了梦想为了信仰

 

                      Python人工智能从入门到精通

补充:包的相对导入 只对后两种导入方式有用

包的相对导入 只对后两种导入方式有用

异常(基础)except:
  什么是错误:
    是指由于逻辑或语法等导程序无法正常执行的问题
  什么是异常:
    是程序出错的标识符的一种状态
    当异常发时 程序不会再向下执行,而转去调用此函数的地方
    待处理此错误并恢复为正常状态
  异常的作用:
    用作信号, 通知上层调用者有错误产生需要处理
try 语句:
  两种语法:
    ry-except语句(接受异常通知)
    try-finally语句
      try-except 语法 :
        try:
          可能触发异常的语句
          except 错误类型1[as 变量1]:
            异常处理语句2
          except 错误类型2[as 变量2]:
            异常处理语句2
          except (错误类型3, 错误类型4,...)[as 变量3]:
            异常处理语句3
          ......
          except:
            异常处理语句(其他)(匹配所有类型错误)
          else:
            未发生异常语句(可以没有此语句 没有发成异常时调用)
          finlly:
            最终语句
      作用:
        尝试捕获异常, 将成语由异常状态转为正常状态并正常执行
示例:
      tar-except.py
      说明:
        1. as 子句是用于绑定错误对象的变量,可以省略
        2. except 子句可以有一个或多个,但至少要有一个
        3. else 子句最多只能有一个,也可以省略不写
        4. finally 子句最多只能有一个,也可以省略不写
        5. else 子句将在try没有出现异常时执行
        6. finally子句的语句在任何情况下都会被执行
    try-finally语法:
      try:
        可能触发异常的语句
      finally:
        最终语句
      说明:
        1.finally子句不可以省略
        2.一定不存在except子句
      作用:
        通常try-finally语句来做触发异常时必须要处理的事情
        无论异常是否发生, finally子句一定会被执行
      注意:
        try-finally 语句不会改变程序的(正常/异常)状态

raise 语句:(发起异常通知)
  作用:
    触发一个错误, 让程序进入异常状态
  语法:
    raise 异常类型
    或
    raise 异常对
  实例:

assert 断言语句:
  语法:
    assert 真值表达式, 错误数据(通常是字符串)
  作用:
    当真值表达式为False时, 用错误数据创建一个AssertionError
    类型的错误, 并进入异常状态
  等同于:
    if 真值表达式 == false
      raise AssertrtionError(错误数据)
  实例:

    小结:
      异常处理语句(4条):
        try-except 语句:
          用于接受异常通知, 捕获异常
        try-finally 语句:
          执行必须执行的语句
        raise 语句:
          发送异常通知, 并进入异常状态
        assert 语句:
          根据条件选着性的发送 AssertionError类型的异常通知
为什么要处理异常机制:
  在程序调用层数比较深的时候, 向主调用函数传递错误信息 需要层层return返回
  比较麻烦, 用异常处理机制可以较简单的传递错误信息

Python中全部的错误类型:
    

Python全部的错误类型

错误类型 说明
以下内容必讲  
ZeroDivisionError 除(或取模)零 (所有数据类型)
ValueError 传入无效的参数
AssertionError 断言语句失败
StopIteration 迭代器没有更多的值
IndexError 序列中没有此索引(index)
IndentationError 缩进错误
OSError 输入/输出操作失败
ImportError 导入模块/对象失败
NameError 未声明/初始化对象 (没有属性)
AttributeError 对象没有这个属性
   
GeneratorExit 生成器(generator)发生异常来通知退出
TypeError 对类型无效的操作
KeyboardInterrupt 用户中断执行(通常是输入^C)
OverflowError 数值运算超出最大限制
FloatingPointError 浮点计算错误
BaseException 所有异常的基类
SystemExit 解释器请求退出
Exception 常规错误的基类
StandardError 所有的内建标准异常的基类
ArithmeticError 所有数值计算错误的基类
EOFError 没有内建输入,到达EOF 标记
EnvironmentError 操作系统错误的基类
WindowsError 系统调用失败
LookupError 无效数据查询的基类
KeyError 映射中没有这个键
MemoryError 内存溢出错误(对于Python 解释器不是致命的)
UnboundLocalError 访问未初始化的本地变量
ReferenceError 弱引用(Weak reference)试图访问已经垃圾回收了的对象
RuntimeError 一般的运行时错误
NotImplementedError 尚未实现的方法
SyntaxError Python 语法错误
TabError Tab 和空格混用
SystemError 一般的解释器系统错误
UnicodeError Unicode 相关的错误
UnicodeDecodeError Unicode 解码时的错误
UnicodeEncodeError Unicode 编码时错误
UnicodeTranslateError Unicode 转换时错误
以下为警告类型  
Warning 警告的基类
DeprecationWarning 关于被弃用的特征的警告
FutureWarning 关于构造将来语义会有改变的警告
OverflowWarning 旧的关于自动提升为长整型(long)的警告
PendingDeprecationWarning 关于特性将会被废弃的警告
RuntimeWarning 可疑的运行时行为(runtime behavior)的警告
SyntaxWarning 可疑的语法的警告
UserWarning 用户代码生成的警告
详见:help(builtins)

原文地址:https://www.cnblogs.com/ParisGabriel/p/9338724.html

时间: 2024-09-28 19:16:25

ParisGabriel:Python全栈工程师(0基础到精通)教程 第二十一课(包、模块 的导入)的相关文章

Python全栈开发【基础三】

Python全栈开发[基础三]  本节内容: 函数(全局与局部变量) 递归 函数 一.定义和使用 函数最重要的是减少代码的重用性和增强代码可读性 1 def 函数名(参数): 2 3 ... 4 函数体 5 ... 6 返回值 函数的定义主要有如下要点: def:表示函数的关键字 函数名:函数的名称,日后根据函数名调用函数 函数体:函数中进行一系列的逻辑计算 参数:为函数体提供数据 返回值:当函数执行完毕后,可以给调用者返回数据. 总结使用函数的好处: 1.减少代码重用 2.保持一致性,易维护

Python全栈开发【基础二】

Python全栈开发[基础二] 本节内容: Python 运算符(算术运算.比较运算.赋值运算.逻辑运算.成员运算) 基本数据类型(数字.布尔值.字符串.列表.元组.字典) 编码与进制转换 Python 运算符 1.算术运算: 2.比较运算: 3.赋值运算: 4.逻辑运算:  5.成员运算: 基本数据类型 1.数字 int(整型) 1 class int(object): 2 """ 3 int(x=0) -> integer 4 int(x, base=10) -&g

Python全栈开发【基础四】

Python全栈开发[基础四] 本节内容: 匿名函数(lambda) 函数式编程(map,filter,reduce) 文件处理 匿名函数 lambda表达式:对于简单的函数,存在一种简便的表示方式,即lambda表达式 1 #这段代码 2 def calc(n): 3 return n**n 4 print(calc(10)) 5 6 #换成匿名函数 7 calc = lambda n:n**n 8 print(calc(10)) 匿名函数主要是和其它函数搭配使用 举例: 1 ########

ParisGabriel:Python全栈工程师(0基础到精通)教程 第二十课(包、模块 的导入)

$ pip3 install tensorflow : 第三方模块 tensorflow 的安装 电脑必须有网 命令行自动下载安装dir(模块名): 查看模块所有属性 自定义模块导入 示例: 自定义模块的实现方法 def myfac(n): print('正在计算', n, '的阶乘') def mysum(n): print("正在计算1+2+3+...+%d的和" % n) name1 = "Audi" name2 = "TESLA" pri

ParisGabriel:Python全栈工程师(0基础到精通)教程 第二十三课(每周总结:2)

ParisGabriel 每天坚持 一天一篇 点个订阅吧  灰常感谢    当个死粉也阔以 week summer: Python人工智能从入门到精通 函数式编程: 是指用一系列函数解决问题 每一个函数完成细小的功能,一系列函数的任意组合可以完成 大问题 函数仅接受输入并产生输入,不包含任何影响输出的内部 状态函数的可重用性: 如果一个函数的输入参数一定,则返回结果必须一定的函数 称为可重用函数 可重入和不可重入就是访问除局部变量以外的变量函数式编程要求: def 创建函数最好不要访问局部作用域

ParisGabriel:Python全栈工程师(0基础到精通)教程 第十三课

ParisGabriel 感谢 大家的支持  你们的阅读评价就是我最好的动力  我会坚持把排版内容以及偶尔的错误做的越来越好 每天坚持 一天一篇 点个订阅吧  灰常感谢    当个死粉也阔以      Python人工智能从入门到精通 集合 set:         集合是可变的容器         集合内的数据对象都是唯一的(不能重复的) 集合是无序的储存结构.集合中的数据没有先后顺序关系 集合内的元素必须是不可变对象 集合是可迭代对象 集合相当于只有键没有值得字典(键则是集合的数据) (相当

ParisGabriel:Python全栈工程师(0基础到精通)教程 第二十七课(类变量、方法、继承、覆盖)

ParisGabriel 每天坚持手写  一天一篇  决定坚持几年 为了梦想为了信仰  开局一张图 Python人工智能从入门到精通 补充: 实例方法都是操作实例对象的 属于此类对象的方法 实例变量 添加/修改属性: 对象.属性名 = 表达式 删除: del 对象.属性名 类 |          对象 | 实例 class  object     instance 类的本质上也是对象 类可以创建此类对象 ---------------------------------------------

ParisGabriel:Python全栈工程师(0基础到精通)教程 第十五课(函数嵌套、变量作用域)

ParisGabriel 感谢 大家的支持 每天坚持 一天一篇 点个订阅吧  灰常感谢    当个死粉也阔以 Python人工智能从入门到精通 globals()/locals()函数: globals()返回当前全局作用域内变量的字典 locals() 返回当前局部作用域内变量的字典函数变量: 函数名是变量,它在def 语句创建时绑定函数 fa1 = fa 没有括号 绑定函数 fa1 = fa() 返回结果 函数的变量名可以序列交换算法一个函数可以作为另一个函数的实参传递: 例如: def m

ParisGabriel:Python全栈工程师(0基础到精通)教程 第二十二课(迭代器、字节串)

ParisGabriel 每天坚持手写  一天一篇  决定坚持几年 为了梦想为了信仰 Python人工智能从入门到精通 迭代器 Iterator: 用<>括号表示的一定是对象 什么是迭代器? 迭代器是访问可迭代对象的工具 迭代器是指用iter(obj) 函数返回的对象(实例) 迭代器可以用next(it) 函数获取可迭代对象的数据 迭代器函数iter和next iter(iterable) 从可迭代对象中返回一个迭代器,iterable 必须是能提供一个迭代器的对象 next(iterator