1.異常 處理
在程式執行過程中 ,發生,影響程式的正常執行
在python中 異常就是乙個錯誤
try .... except....捕獲異常
try 用來檢測try中語句塊中是否有錯誤 , 有 錯誤,讓except 捕捉異常並處理
try 可以和except 或者 finally 語句一起執行 也可以一起執行
作用: 有效的避免了程式報錯退出,增強了**的穩定性
try**...
except exception # ecxeption是所有異常的基類 可以捕獲所有型別的異常
except 類名 as 錯誤型別
異常處理
常見 報錯 : filenotfounterror 檔案不存在 nameerror: 未宣告/初始化錯誤 exception: 常規錯誤基類
else 在異常中的作用
try :
嘗試執行的**..
except:
如果有異常,交給except處理異常
else:
如果沒有異常,執行else中的語句
finally :
try:
嘗試執行的**
....
finally
無論是否發生異常都執行finally
異常傳遞的概念
異常處理 函式巢狀
自定義異常的使用方法
raise: 使用該語句 可以自動出發異常([丟擲異常)
python模組
python 模組 是乙個python檔案,任何以.py結尾的,都可以作為模組匯入 模組內容可以是全域性變數,函式,類和執行**
引入模組的不同方式
import 檔名 ---- 模組
區域性匯入
from 檔名 import 名字 函式名,類名,變數名
名字 可以是變數名 函式名,類名
檔名 匯入的作為模組的那個.py檔案
from 檔名 import *
把乙個模組所有的內容都匯入當前的空間
__all__=['',''] 控制模組 匯入的內容
__name __
表示模組的名字的乙個系統變數
主動執行檔案時 __name__ 是 :__main__
作為模組匯入時 __name__ 是: moddle
import sys
sys.path 獲得python直譯器查詢目錄
包在專案中的子資料夾
作用:對同類功能的模組進行目錄的整合
在包中的子資料夾必須加包名,即使是同級
import .包名.函式名
__init__.py
python2中沒有__init__.py檔案就會報錯
__new__()
建立物件時自動呼叫該方法
開發者可以實現new方法來自定義物件的建立過程
是乙個靜態方法
class dog:
# __new__ 是靜態方法,當建立物件的時候自動呼叫該方法
def __new__(cls, *args, **kwargs):
new_obj = object.__new__(cls) # 建立乙個新的物件 cls 代表當前類物件
return new_obj
wc = dog()
print(wc)
單例**站是單例模式的應用
確保某乙個類只會建立出乙個例項,稱為單例類
模式好處:降低開發成本,提高開發效率,便於後期維護
單例模式: 某個類 只能建立乙個物件,無論使用什麼方法,建立出來的物件始終只有乙個,即使建立出n個物件,但是所有物件指向的是同乙個空間的位址
lass shopping(object):
__instance = none # 用來標識是否建立多物件
__isinit = false # 記錄是否已經進行了初始化
def __new__(cls, *args, **kwargs): # 建立物件的時候自動呼叫該方法
if cls.__instance is none: # 判斷是否建立過物件
cls.__instance= object.__new__(cls)
return cls.__instance
# 初始化一次__init__
def __init__(self):
if shopping.__isinit ==false:
self.price = 0
shopping.__isinit=true
REST framework 異常模組
1 所有經過drf的apiview檢視類產生的異常,都可以提供異常處理方案 2 drf預設提供了異常處理方案 rest framework.views.exception handler 但是處理範圍有限 3 drf提供的處理方案兩種,處理了返回異常現象,沒處理返回none 後續就是伺服器拋異常給前...
python學習 day12 模組os sys
內容 以下內容僅供個人學習使用,侵刪 usr bin env python coding utf 8 os 通過程式與作業系統做互動 import os 四個維度 重要的 1.資料夾 建立資料夾 os.mkdir,os.makedirs 刪除資料夾 os.rmdir,os.removedirs 檢視...
tracebrace捕獲異常模組
python view plain copy try 1 0 except exception,e print e 輸出結果是integer division or modulo by zero,只知道是報了這個錯,但是卻不知道在哪個檔案哪個函式哪一行報的錯。下面使用traceback模組 pyth...