Python3基礎筆記 物件導向

2022-09-11 16:33:24 字數 1946 閱讀 9054

只是對一些新的知識的記錄

class

classname:

. .

.

類例項化後,可以使用其屬性,實際上,建立乙個類之後,可以通過類名訪問其屬性。 __init__() 方法可以有引數

定義乙個名為 __init__() 的特殊方法(構造方法)

def

__init__

(self):

self.data =

類定義了 __init__() 方法的話,類的例項化操作會自動呼叫 __init__() 方法。

類的方法與普通的函式只有乙個特別的區別——它們必須有乙個額外的第乙個引數名稱, 按照慣例它的名稱是 self。

class

derivedclassname(baseclassname1):

. .

.

需要注意圓括號中基類的順序,若是基類中有相同的方法名,而在子類使用時未指定,python從左至右搜尋 即方法在子類中未找到時,從左到右查詢基類中是否包含方法。

baseclassname(示例中的基類名)必須與派生類定義在乙個作用域內。除了類,還可以用表示式,基類定義在另乙個模組中時這一點非常有用:

當子類物件呼叫方法時,若子類中有,直接呼叫,比如f2()會使用子類中重寫的方法,但當子類中沒有時,就會去父類中尋找。

class

base:

defa(self):

print('

base.a')

class

f(base):

defa1(self):

print('

f.a'

)class

s(f):

defb(self):

print('

s.b'

)obj =s()

obj.b()

obj.a()

class

derivedclassname(base1, base2, base3):

. .

.

需要注意圓括號中父類的順序,若是父類中有相同的方法名,而在子類使用時未指定,python從左至右搜尋 即方法在子類中未找到時,從左到右查詢父類中是否包含方法。

需要注意如果他們有共同的基類,如果搜尋到了l1中還沒有這個方法,並不會去搜尋base,而是去搜尋r1,r2,最後去搜尋base

#

!/usr/bin/python3

class parent: #

定義父類

defmymethod(self):

print ('

呼叫父類方法')

class child(parent): #

定義子類

defmymethod(self):

print ('

呼叫子類方法')

c = child() #

子類例項

c.mymethod() #

子類呼叫重寫方法

super(child,c).mymethod() #

用子類物件呼叫父類已被覆蓋的方法

呼叫父類方法的兩種方式:   super(類名 ,self).父類的方法(...)    or    父類名.父類中的方法(self, ...)

python3學習筆記 物件導向

python物件導向也是通過類的機制實現。python類的語法如下。class example 基本屬性 property1 0 property2 私有屬性,類外不能被訪問 property3 屬性p4在上面沒有顯示宣告。可通過建構函式直接宣告並初始化。def init self,p1,p2,p3...

python3物件導向

類 class 描述同屬性和方法的物件的集合。方法 類中定義的函式 例項化 建立乙個類的例項,類的具體物件。物件 通過類定的資料例。包括兩個資料成員 類變數和例項變數 和方法。支援操作 屬性引用和例項化 class myclass i 12345 deff self return hello wor...

Python3 物件導向

類名 這類事物的名字,滿足大駝峰命名法,每乙個單詞的首字母大寫 屬性 這類事物具有什麼樣的特徵,身高,體重,年齡等 方法 這類事物具有什麼樣的行為,會跑,會說話,會跳等 class cat 名字貓的類,建議用大駝峰 def init self,new name,new age self.name n...