魔法方法的呼叫

2021-10-09 14:43:04 字數 896 閱讀 9088

類例項可以呼叫所有方法,類名可以呼叫 類方法 和 靜態方法

def

__add__

(self,other)

:return

當該類的 2個 例項物件相加 時 會 自動呼叫add方法

def

__str__

(self)

:return

a是乙個類的例項

當print

(a)時會 自動呼叫str方法

class

test()

:def

__init__

(self)

:a = test(

)#建立乙個物件,此時自動呼叫 init方法

class

test()

:def

__new__

(cls)

:#cls表示這個類,這裡是test

return 該類的例項物件

new會在乙個物件被建立前呼叫,即new會在init方法之前被呼叫,init中的self 就是new返回的例項物件

def

__len__

(self)

:return

len(self._cards)

當len(例項物件) 時會自動呼叫這個方法

def

__getitem__

(self, position)

:return self._cards[position]

print

(deck[0]

)#此時呼叫 getitem 方法

Python魔法方法 基本的魔法方法

new cls 1.new 是在乙個物件例項化時候所呼叫的第乙個方法 2.他的第乙個引數是這個類,其他的引數是用來直接傳遞給 init 方法 3.new 決定是否使用該 init 方法,因為.new 可以直接呼叫其他類的構造方法,或者返回別的例項物件來作為本類的例項,如果 new 沒有返回例項物件,...

python學習之魔法方法的呼叫

在python中存在一些前面和後邊都加上兩個下劃線的函式,這種函式會在一些特殊的情況下被呼叫,而不是根據他們的名字被呼叫。下面詳細介紹幾個重要的函式.init 函式,這類進行初始化的函式,在建立乙個具體的物件的時候會自動的呼叫。class people def init self self.univ...

python 魔法方法

魔法方法具有一定的特徵 new cls class capstr str def new cls,string 修改新類裡的new方法,需傳入乙個引數 string string.upper return str.new cls,string 用父類裡的new方法進行返回,直接飯後構造後的物件def...