當你從萌新小白到有點程式設計概念的時候或許就會有疑問,為什麼print()就可以列印出東西,為什麼生成器就可以next()進行迭代,這些都是因為類本身實現了一些特殊方法,我們來總結一下:
1.如果把乙個類的例項變成str,就需要實現特殊方法__str__( ):
str:用於顯示給使用者repr:用於顯示給開發人員
2.slots__限制例項的屬性
slots__定義的屬性僅對當前例項起作用,對繼承的子類不起作用
3.python內建的@property 裝飾器 負責把乙個方法變成屬性呼叫
4.如果乙個類表現的像乙個list,要獲取有多少個元素,就得用len()函式
要讓len()函式正常執行,類必須實現乙個特殊方法__len( )
5.如果乙個類想被用於for…in 迴圈,類似list 和tuple 那樣,就要用__iter( ) 方法,它返回乙個迭代物件,python的for迴圈就會不斷呼叫該迭代物件的__next__( )方法拿到迴圈的下乙個值,直到遇到stopiteration 錯誤時退出迴圈
6.如果可以通過下標取元素,那麼類中必須實現__getitem__()方法:
7.在自定義類中,如果呼叫乙個屬性不存在時,可以呼叫__getatter__( ) ,動態返回乙個屬性
8.乙個物件例項可以有自己的屬性和方法,在呼叫例項方法時,instance.method()呼叫也可以直接作用在例項本身上 (物件中呼叫例項方法,模擬,類中呼叫例項)任何乙個類,只需要定義__call__( ) 方法,就可以直接對例項進行呼叫
python物件導向總結 Python物件導向總結
python 物件導向 oop 1 物件導向 是乙個更大封裝,把乙個物件封裝多個方法 2 類 是對一些具有相同特徵或行為的事物的乙個統稱,是抽象的,不能直接使用 特徵被稱為屬性 行為被稱為方法 3 物件 是由類建立出來的乙個具體的存在,可以直接使用 先有類再有物件,類只有乙個,而物件可以有多個 類中...
python中的物件導向
一 什麼是類 關鍵字 class 規則同變數名 規範 一般使用大駝峰表示 單詞首字母大寫 class 類名 屬性方法 二 什麼是物件 物件就是某個類的具體的乙個例項。根據資料型別建立乙個物件,這個過程就叫做例項化。類名 三 類的屬性 直接定義在類中的變數 就是類屬性。訪問類屬性 類名.屬性名 物件....
python中 物件導向
1,物件導向 定義 與面向過程對比 官方定義 程式語言 2,物件導向語法 class 類名 內容3,例項 定義類 class person 行為通過方法體現 吃飯def eat self print 紅燒雞腿我喜歡吃 睡覺def sleep self print 睡覺也是一種生活態度 定義物件 li...