python3异常处理和约束
2022-02-20 22:46:25 3 举报
AI智能生成
python3异常处理和约束整理
作者其他创作
大纲/内容
异常处理
- 异常和错误
- 错误分成哪两种?
语法错误和逻辑错误
- 什么是异常?
异常就是程序运行时发生错误的信号,在python中错误触发的异常如下
- python中的异常种类?
AttributeError: 试图访问一个对象没有的属性,比如foo.x,但是foo没有属性x。
IOError: 输入/输出异常;基本上是无法打开文件。
ImportError: 无法引入模块或包;基本上是路径问题或名称错误。
IndentationError: 语法错误(的子类) ;代码没有正确对齐。
IndexError:下标索引超出序列边界,比如当x只有三个元素,却试图访问x[5]
KeyError: 试图访问字典里不存在的键。
KeyboardInterrupt: Ctrl+C被按下。
NameError: 使用一个还未被赋予对象的变量。
SyntaxError: Python代码非法,代码不能编译(个人认为这是语法错误,写错了)。
TypeError: 传入对象类型与要求的不符合。
UnboundLocalError: 试图访问一个还未被设置的局部变量,基本上是由于另有一个同名的全局变量,导致你以为正在访问它。
ValueError: 传入一个调用者不期望的值,即使值的类型是正确的。
其他类型:
- 异常处理
- 什么是异常处理?
异常处理
- 为什么要进行异常处理?
通过异常处理机制来增强你程序的健壮性与容错性。
- 如何进行异常处理?
- 使用 if 表达式
使用 if 表达式处理异常
- 使用 try...except
part1: 基本语法
part2: 单个指定异法处理
part3: 多分支异法处理
part4: 万能异常 Exception
part5: 异常的其他结构
part6: 主动触发异常
part7: 自定义异常
part8: 断言
part9: traceback
- try..except方式较if方式的好处
try..except方式好处
- 什么时候用异常处理?
try..except方式多了,会导致你的代码可读性变差,只有在有些异常无法预知的情况下,才应该加上try...except,其他的逻辑错误应该尽量修正。
异常的继承关系
约束
什么是约束?
约束是对子类进行的约束
如何实现约束?
通过抛异常实现
1、在父类中给出一个方法。这个方法中什么都不写。就抛异常:raise NotImplementError()
2、在子类中把上述的方法进行重写。(重写:子类重新定义父类中的方法)
通过抽象类和抽象方法实现
from abc import ABCMeta, abstractmethod
抽象类:
语法:类(metaclass=ABCMeta)
概念: 如果类中包含了抽象方法。这个类一定是抽象类。
特点: 抽象类一般不创建对象。
抽象类中可以存在正常方法。
语法:类(metaclass=ABCMeta)
概念: 如果类中包含了抽象方法。这个类一定是抽象类。
特点: 抽象类一般不创建对象。
抽象类中可以存在正常方法。
抽象方法:抽象方法不用给出方法体。写个pass就行了。(子类继承父类时必须重写此方法)
实现约束有何益处?
通过约束能够清楚知道:"没有实现的错误"。
MD5加密
如何实现MD5加密?
引入模块 hashlib
1 创建md5对象
2.把加密信息交给md5对象
3.获取密文
1 创建md5对象
2.把加密信息交给md5对象
3.获取密文
MD5普通加密
获取密文
密文解密
MD5多重加密
多重加密获取密文1
多重加密密文解密1
多重加密获取密文2
多重加密密文加密2复杂度过高无法解密
日志处理
一.日志相关概念
1.日志的作用
- 程序调试
- 了解软件程序运行情况,是否正常
- 软件程序运行故障分析与问题定位
- 如果应用的日志信息足够详细和丰富,还可以用来做用户行为分析
2.日志的等级
3.日志字段信息与日志格式
4.日志功能的实现
- Python自身也提供了一个用于记录日志的标准库模块--logging
- 第三方库来提供日志操作功能,比如:log4j,log4php等
二.logging模块简介
1. logging模块的日志级别
2. logging模块的使用方式介绍
三.使用logging提供的模块级别的函数记录日志
1.最简单的日志输出
2. 那么问题来了
3. logging.basicConfig()函数说明
4. logging模块定义的格式字符串字段
5.经过配置的日志输出
6. 其他说明
实例
四.logging模块日志流处理流程
1. logging日志模块四大组件
2. logging日志模块相关类及其常用方法介绍
- Logger类
- Handler类
- Formater类
- Filter类
3. logging日志流处理流程
详解
五.使用logging四大组件记录日志-实例
1. 需求
2. 分析
3. 代码实现
六.配置logging的几种方式
《python之配置日志的几种方式》
七.向日志输出中添加上下文信息
《Python之向日志输出中添加上下文信息》
<< Logging CookBook >>
八.参考文档
0 条评论
下一页