python子類中呼叫父類私有方法和私有資料域

2021-10-02 03:19:22 字數 728 閱讀 1718

我們在python中從某父類繼承子類時,可以在子類中對父類的資料域和方法操作,但是當該資料域或方法為私有時(有雙下劃線作為字首),應注意呼叫格式如下:

子類呼叫父類私有資料域:self._父類名+私有資料網域名稱

子類呼叫父類私有方法:self._父類名+私有方法名

**如下:

classaa:

# 定義父類aa

def__init__

(self)

: self.__u =

10# 父類私有資料域

def__m1

(self)

:# 父類私有方法

self.__u +=

1print

(self.__u)

class

bb(aa)

:# 定義子類bb

defm2

(self)

:# 訪問父類私有資料域

self._aa__u =-10

print

(self._aa__u)

defm3

(self)

:# 訪問父類私有方法

self._aa__m1(

)

p = bb(

)p.m3(

)# 列印11

p.m2(

)# 列印-10

Python 子類呼叫父類方法

python在繼承時,如果子類重寫了init 函式,則父類的init 不會被呼叫,這時如果子類只是想要對父類的init 函式進行簡單的擴充套件的話,是很不方便的。那麼有沒有比較方便的方法來從子類呼叫父類呢?第一種是直接使用父類的類名來直接呼叫。python3.3 class parent def i...

python子類呼叫父類的方法

情況一 子類需要自動呼叫父類的方法 子類不重寫 init 方法,例項化子類後,會自動呼叫父類的 init 的方法。class father object def init self,name self.name name print name s self.name def getname self...

python子類呼叫父類的方法

from python和其他物件導向語言類似,每個類可以擁有乙個或者多個父類,它們從父類那裡繼承了屬性和方法。如果乙個方法在子類的例項中被呼叫,或者乙個屬性在子類的例項中被訪問,但是該方法或屬性在子類中並不存在,那麼就會自動的去其父類中進行查詢。繼承父類後,就能呼叫父類方法和訪問父類屬性,而要完成整...