Python筆記 類定義

2021-08-25 19:01:59 字數 2387 閱讀 2414

python筆記——類定義

一、類定義:

class <

類:<

語類例項化後,可以使用其屬性,實際上,建立乙個類之後,可以通過類名訪問其屬性

如果直接使用類名修改其屬性,那麼將直接影響到已經例項化的物件

類的私有屬性:

__private_attrs

兩個下劃線開頭,宣告該屬性為私有,不能在類地外部被使用或直接訪問

在類內部的方法中使用時self.__private_attrs

類的方法

在類地內部,使用def

關鍵字可以為類定義乙個方法,與一般函式定義不同,類方法必須包含引數self,

且為第乙個引數

私有的類方法

__private_method

兩個下劃線開頭,宣告該方法為私有方法,不能在類地外部呼叫

在類的內部呼叫slef.__private_methods

類的專有方法:

__init__

建構函式,在生成物件時呼叫

__del__

析構函式,釋放物件時使用

__repr__

列印,轉換

__setitem__

按照索引賦值

__getitem__

按照索引獲取值

__len__

獲得長度

__cmp__

比較運算

__call__

函式呼叫

__add__

加運算

__sub__

減運算

__mul__

乘運算

__div__

除運算

__mod__

求餘運算

__pow__稱方

示例:

#類定義 class people: #定義基本屬性 name = '' age = 0 #定義私有屬性,私有屬性在類外部無法直接進行訪問 __weight = 0 #定義構造方法 def __init__(self,n,a,w): self.name = n self.age = a self.__weight = w def speak(self): print("%s is speaking: i am %d years old" %(self.name,self.age)) p = people('tom',10,30) p.speak()

二、繼承類定義: 1.

單繼承

class <

類(父類名)

<

語eg.

class childbook(book)

age = 10

#單繼承示例 class student(people): grade = '' def __init__(self,n,a,w,g): #呼叫父類的構函 people.__init__(self,n,a,w) self.grade = g #覆寫父類的方法 def speak(self): print("%s is speaking: i am %d years old,and i am in grade %d"%(self.name,self.age,self.grade)) s = student('ken',20,60,3) s.speak() 2.

類的多重繼承

class

類名(父類1,

父類2,....,

父類n)

<

語句1>

需要注意圓括號中父類的順序,若是父類中有相同的方法名,而在子類使用時未指定,python

從左至右搜尋

即方法在子類中未找到時,從左到右查詢父類中是否包含方法

#另乙個類,多重繼承之前的準備 class speaker(): topic = '' name = '' def __init__(self,n,t): self.name = n self.topic = t def speak(self): print("i am %s,i am a speaker!my topic is %s"%(self.name,self.topic)) #多重繼承 class sample(speaker,student): a ='' def __init__(self,n,a,w,g,t): student.__init__(self,n,a,w,g) speaker.__init__(self,n,t) test = sample("tim",25,80,4,"python") test.speak()#方法名同,預設呼叫的是在括號中排前地父類的方法

類方法的覆寫——子類覆蓋掉父類的方法

def

方法名與父類一致

若是在方法中要使用到父類方法父類名.

方法名

若是將類放到了模組中

使用時import a

l = a.

類()

以上三段程式的執行結果:

Python筆記 類定義

python筆記 類定義 一 類定義 class 類名 語句 類例項化後,可以使用其屬性,實際上,建立乙個類之後,可以通過類名訪問其屬性 如果直接使用類名修改其屬性,那麼將直接影響到已經例項化的物件 類的私有屬性 private attrs 兩個下劃線開頭,宣告該屬性為私有,不能在類地外部被使用或直...

Python筆記 類定義

一 類定義 class 類名 語句 類例項化後,可以使用其屬性,實際上,建立乙個類之後,可以通過類名訪問其屬性 如果直接使用類名修改其屬性,那麼將直接影響到已經例項化的物件 類的私有屬性 private attrs 兩個下劃線開頭,宣告該屬性為私有,不能在類地外部被使用或直接訪問 在類內部的方法中使...

Python筆記 類定義

class 類名 語句 類例項化後,可以使用其屬性,實際上,建立乙個類之後,可以通過類名訪問其屬性 如果直接使用類名修改其屬性,那麼將直接影響到已經例項化的物件 類的私有屬性 private attrs 兩個下劃線開頭,宣告該屬性為私有,不能在類地外部被使用或直接訪問 在類內部的方法中使用時 sel...