day12 異常 模組 單例

2022-05-08 23:33:12 字數 2298 閱讀 1449

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...