class 類別

Steven Wang
3 min readJan 6, 2019

--

類別是物件的藍圖
屬性 屬性是物件專屬的變數 屬性必須透過物件存取
方法 方法是物件專屬的函數 方法必須透過物件呼叫

dir()目前作用域下的變數及識別字,其他變數前後都被連續兩條底線包圍,是環境預設的變數

dir(classname),印出demo類別的預設屬性及方法

兩個主要重新定義的方法
__ini__ 物件建立的時候執行的方法,實體屬性通常建立在這個地方,建構子
__str__ 表達物件的字串 直接用print()函數印出什麼訊息
__del__解構子

self是習慣上第一個參數的識別字名稱,表示物件自己
self.a 表示實體屬性 物件建立後才會存在的屬性

實體屬性及方法

專屬類別的屬性及方法,類別屬性放在類別關鍵字之下@classmethod

count = 0 # 類別屬性
Demo.count #在實體方法中利用類別屬性要連帶使用類別名稱
def printCount(cls )#類別方法名稱 ,類別方法第一個參數改為cls
print(cls.count)#利用cls直接存取類別屬性

static方法
需要裝飾子@staticmethod
不需要預設參數 不能直接使用實體屬性或類別屬性

三種比較

--

--

Steven Wang
Steven Wang

No responses yet