物件導向(五) 魔法方法

2022-07-08 04:21:10 字數 1325 閱讀 3663

魔法方法

定義:以雙下劃線開頭和結尾的方法,這些方法不允許開發者自己定義

特點:不需要顯式的呼叫,每乙個魔法方法都具有特定的觸發時機

目前說過的魔法方法

1 構造和初始化方法

2 比較運算子

3 算術運算子

4 復合運算子

5、物件列印

6、其他方法

print("物件被呼叫")

return 10

def __del__(self):

print("物件被銷毀")

# 情況1

a = a()

del a #刪除物件a,此時沒有其他物件引用,會自動呼叫__del__()

# 情況2

a = a()

a2 = a # 賦值

del a # 刪除物件a,此時還有a2物件引用,不會自動呼叫__del__()

# 情況3

a = a()

a2 = a()

del a

print('***************=')

""" 結果:

物件被銷毀 ********************= 物件被銷毀 """

# 情況4

a = a()

print(a()) # 呼叫__call__ 10

python 物件導向魔法方法

類由三個部分構成 1.類的名稱2.類的屬性3.類的方法 物件 根據已經定義的類去建立出乙個或多個物件 格式為 物件名 類名 建立物件 新增和獲取物件的屬性 魔法方法 init 如果類沒有寫init方法,python會自動穿件,但不執行任何操作,如果為了能夠在完成自己想要的功能,可以直接定義init方...

物件導向 魔法方法 str

class hero object 定義了乙個英雄類,可以移動和攻擊 def init self,name,skill,hp,atk,armor init 方法,用來做變數初始化 或 賦值 操作 英雄名 self.name name 例項變數 技能 self.skill skill 生命值 self...

Python物件導向之魔法方法 雙下方法

1.new and init 這兩個方法都是在例項化的時候執行,new 在 init 之前執行,並且 如果例項化的時候封裝屬性,new 也是必須要傳的 而且 new 必須有返回 值,而且這個返回值就是物件的記憶體空間而且會傳給 init 的self引數,而且 封裝的屬性也會傳給 init class...