Python中類的私有方法,類方法,靜態方法等

2021-09-27 07:16:26 字數 755 閱讀 8768

方法/屬性的型別

方法表示

特點類方法

@classmethod

def 方法體:

則這個方法一般是類的方法,即類.方法。一般不給例項化物件來使用。

私有方法

def __方法名:

在方法名的前面加__表示這是私有方法。所謂私有方法,就是只能由類本身來使用。其子類不能使用,例項化的物件也不能使用。

保護方法

def _方法名:

在方法名前面加_表示這是保護方法。所謂的保護方法,就是只能類本身或子類來使用。其實例化物件不能使用

私有變數

__變數

在變數前加__表示這是乙個私有變數,所謂私有變數就是只能類本身來訪問,其子類與例項化物件都不能使用。

保護變數

_變數在變數前加_表示,這是乙個保護變數,所謂保護變數就是只能由類和子類使用。例項化物件不能使用。

靜態方法

@staticmethod def 方法體:

靜態方法就會將這個方法與類的關係切斷,即傳入的self失效,它就變成了普通函式,與寫在類之外的函式一模一樣,不再是類的方法了。

注意:在python中,(特殊)物件直接訪問私有變數的方法:物件._類名__變數

附加:​ 子類繼承父類時,呼叫父類的方法1:父類名.方法(self,引數) =>適用於使用父 類的__init__,並且是多個父類

​ 方法2:super(子類名,self).方法(引數) =>適用於 使用父類的init,並且是乙個父類,方法 裡不用寫self

Python 類的私有屬性和私有方法

xx 公有變數 xx 公有變數或方法,不能通過import匯入其他模組 只有模組內部使用 類物件和子類可以訪問 xx 私有變數或方法 偽私有 類外部不能直接訪問。xx 公有變數或方法,子類可以訪問。魔法方法或屬性 例如 init 不推薦這樣命名。xx 公有變數或方法。一般為了避免和python關鍵字...

python類的私有變數和私有方法

usr bin env python coding utf 8 time 2017 11 08 8 46 author lijunjiang file class3.py 類的私有變數和私有方法 在python中可以通過在屬性變數名前加上雙下劃線定義屬性為私有屬性 特殊變數命名 1 xx 以單下劃線...

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

我們在python中從某父類繼承子類時,可以在子類中對父類的資料域和方法操作,但是當該資料域或方法為私有時 有雙下劃線作為字首 應注意呼叫格式如下 子類呼叫父類私有資料域 self.父類名 私有資料網域名稱 子類呼叫父類私有方法 self.父類名 私有方法名 如下 classaa 定義父類aa de...