052-071
類方法:就是針對類物件定義的方法,在類方法內部可以直接訪問類屬性 或者呼叫其他的類方法,語法如下:
@classmethod
def 類方法名(cls):
通過類名. 呼叫類方法,不需要傳遞cls引數,這個引數和例項方法的第乙個引數self類似,在類方法內部,可以通過cls. 訪問類的屬性,也可以通過cls. 呼叫其他的類方法。
靜態方法:如果在類中封裝的方法,該方法既不需要訪問例項屬性或者呼叫例項方法,也不需要訪問類屬性或者呼叫類方法,就可以把這個方法封裝成乙個靜態方法。語法如下:
@staticmethod
def 靜態方法名():
通過類名. 靜態方法名 可以直接呼叫靜態方法
__new__方法(python中的內建方法)作用
1)在記憶體中為物件分配空間
2)返回物件的引用
python直譯器獲得物件的引用後,將引用作為第乙個引數,傳遞給__init__方法。
重寫new方法一定要 return super().new(cls),否則python的直譯器得不到分配了空間的 物件引用,就不會呼叫物件的初始化方法。注意:__new__是乙個靜態方法,在呼叫時需要主動傳遞cls引數。
單例設計模式——讓類建立的物件,在系統中只有唯一的乙個例項
1)定義乙個 類屬性,初始值是none,用於記錄 單例物件的引用
2)重寫__new__方法
3)如果類屬性 is none,呼叫父類方法分配空間,並在類屬性中記錄結果
4)返回類屬性中記錄的物件引用
捕獲異常常用語法
try:
嘗試執行的**
except:
出現錯誤的處理
捕獲異常後,程式不會停止執行,異常後面的**會繼續執行。
程式在執行時,可能會遇到不同型別的異常,並且需要針對不同型別的異常,做出不同的響應,這個時候需要捕獲錯誤型別了。語法如下:
try:
嘗試執行的**
except 錯誤型別1:
針對錯誤型別1做出的處理
except 錯誤型別2:
針對錯誤型別2做出的處理
注意:當python直譯器 丟擲異常時,最後一行錯誤資訊的第乙個單詞,就是錯誤型別。
捕獲未知錯誤語法如下:
except exception as result:
print(」未知錯誤 %s「 % result)
異常捕獲完整語法如下:
try:
嘗試執行的**
except 錯誤型別1:
針對錯誤型別1做出的處理
except 錯誤型別2:
針對錯誤型別2做出的處理
except exception as result:
print(」未知錯誤 %s「 % result)
else:
沒有異常才會執行的**
finally:
無論是否有異常,都會執行的**
異常的傳遞:當函式/方法出現異常,會將異常傳遞給函式/方法的呼叫一方,直到異常傳遞到主程式,仍然沒有異常處理,程式才會停止執行。
利用異常的傳遞性,可以在主程式中增加異常捕獲,這樣就不需要在其他**中,增加大量的異常捕獲,這樣能夠保證**的整潔。
丟擲異常的步驟:
1)建立乙個exception的物件
2)使用raise關鍵字 丟擲 異常物件
物件導向介紹
物件導向是一種思想,是基於面向過程而言的,就是說物件導向是將功能等通過物件來實現,將功能封裝進物件之中,讓物件去實現具體的細節 這種思想是將資料作為第一位,而方法或者說是演算法作為其次,這是對資料一種優化,操作起來更加的方便,簡化了過程。物件導向有三大特徵 封裝性 繼承性 多型性,其中封裝性指的是隱...
物件導向(介紹)
請用程式描述如下事情 stu a stu b stu c defstu intro stu 自我介紹 for key,value in stu.items print key s,value d key,value stu intro stu a stu intro stu b stu intro ...
物件導向介紹
什麼是物件導向,什麼是面向過程,它們的區別就是語法不一樣。什麼是函式 函式在程式中就是方法。面向過程 函式,程式是右n個函式組成 物件導向 程式由物件組成,物件是由函式和變數組成。物件導向有一句話 萬事萬物皆物件。什麼是物件導向,什麼是面向過程,它們的區別就是語法不一樣。什麼是函式 函式在程式中就是...