Python中的魔法方法

2021-08-30 13:14:45 字數 935 閱讀 7588

當使用print輸出物件的時候,只要自己定義了__str__(self)方法,那麼就會列印從這個方法中return的資料。舉個例子:

class

cat:

"""定義了乙個cat類"""

#初始化物件

def__init__

(self, new_name, new_age)

: self.name = new_name

self.age = new_age

def__str__

(self)

:return

"%s的年齡是:%d"

%(self.name, self.age)

#方法def

eat(self)

:print

("貓在吃魚...."

)def

drink

(self)

:print

("貓正在喝kele....."

)def

introduce

(self)

:print

("%s的年齡是:%d"

%(self.name, self.age)

)#建立乙個物件

tom = cat(

"湯姆",40

)lanmao = cat(

"藍貓",10

)print

(tom)

print

(lanmao)--

----

----

----

----

--- 原文:https:

79387010

執行程式的結果為:

湯姆的年齡是:

40藍貓的年齡是:

10

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

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

python中的魔法方法

python中以 包圍的都有特殊的意思,其中是方法的都是魔法方法。python中的魔法方法魔法的地方就是你不需要顯示的呼叫,就可以實現自動呼叫。比如,init 方法,你建立乙個物件的時候,你不需要呼叫這個方法,它就會自動呼叫這個方法了。豈不是很魔法 另外,python中還有其他的魔法方法。比如講,關...

python的魔法 Python 魔法方法

先給個例子 class frenchdeck ranks str n for n in range 2,11 list jqka suits spades diamonds clubs hearts split def init self self.cards card rank,suit for ...