魔法方法
定義:以雙下劃線開頭和結尾的方法,這些方法不允許開發者自己定義
特點:不需要顯式的呼叫,每乙個魔法方法都具有特定的觸發時機
目前說過的魔法方法
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...