只是對一些新的知識的記錄
class類例項化後,可以使用其屬性,實際上,建立乙個類之後,可以通過類名訪問其屬性。 __init__() 方法可以有引數classname:
. .
.
定義乙個名為 __init__() 的特殊方法(構造方法)
def類定義了 __init__() 方法的話,類的例項化操作會自動呼叫 __init__() 方法。__init__
(self):
self.data =
類的方法與普通的函式只有乙個特別的區別——它們必須有乙個額外的第乙個引數名稱, 按照慣例它的名稱是 self。
class需要注意圓括號中基類的順序,若是基類中有相同的方法名,而在子類使用時未指定,python從左至右搜尋 即方法在子類中未找到時,從左到右查詢基類中是否包含方法。derivedclassname(baseclassname1):
. .
.
baseclassname(示例中的基類名)必須與派生類定義在乙個作用域內。除了類,還可以用表示式,基類定義在另乙個模組中時這一點非常有用:
當子類物件呼叫方法時,若子類中有,直接呼叫,比如f2()會使用子類中重寫的方法,但當子類中沒有時,就會去父類中尋找。
classbase:
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需要注意圓括號中父類的順序,若是父類中有相同的方法名,而在子類使用時未指定,python從左至右搜尋 即方法在子類中未找到時,從左到右查詢父類中是否包含方法。derivedclassname(base1, base2, base3):
. .
.
需要注意如果他們有共同的基類,如果搜尋到了l1中還沒有這個方法,並不會去搜尋base,而是去搜尋r1,r2,最後去搜尋base
#呼叫父類方法的兩種方式: super(類名 ,self).父類的方法(...) or 父類名.父類中的方法(self, ...)!/usr/bin/python3
class parent: #
定義父類
defmymethod(self):
print ('
呼叫父類方法')
class child(parent): #
定義子類
defmymethod(self):
print ('
呼叫子類方法')
c = child() #
子類例項
c.mymethod() #
子類呼叫重寫方法
super(child,c).mymethod() #
用子類物件呼叫父類已被覆蓋的方法
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...