約束和異常處理 20
異常處理(處理,拋出異常,自定義異常)
1. 產生異常, raise 異常類(), 拋出異常
2.處理異常:
try:
xxxx # 嘗試執行的代碼
except 異常類 as 變量 : 出現錯誤的時候,捕獲到異常
xxxx # 處理異常
3.自定義異常
繼承 Exception
4. 堆棧信息
import traceback
traceback.format_exc() 獲取堆棧信息
約束(難)
約束是對子類進行的約束
一 . 通過拋異常(簡單)
在父類中給出一個方法 這個方法中什麽都不寫 . 就拋異常 . NotImplementError()
# 重寫 子類對父類提供的方法不滿意. 重新定義這個方法
重寫 子類重新定義父類中的方法.
通過拋異常實現約束
二 . 抽象類和抽象方法(Java,C#)
接口 : 類中都是抽象方法 .
from abc import ABCMeta, abstractmethod
抽象方法 : 抽象方法不用給出方法體 . 寫個pass 就行了
抽象類:
語法 : 類(metaclass = ABCMeta)
概念 : 如果類中包含了抽象方法 這個類一定是抽象類
特點 : 抽象類一般不創建對象.
抽象類中可以存在正常方法
可以約束子類必須實現抽象方法
MD5加密
MD5加密: 不可逆
引入模塊 hashlib
1 創建md5對象
2 把加密信息交給md5對象
3 獲取密文
日誌處理(重要, 簡單)
引入 logging模塊
簡單配置即可(basicConifg 單一日誌文件 fileHandler 文件助手可實現多文件操作)
日誌級別:
CRITICAL 最高級別
ERRO 40
WARN 30
INFO 20
DEBUG 10
日誌處理
約束和異常處理 20