python 魔法方法總結(jié)

1、構(gòu)造和析構(gòu)
__init__(self[,...])
__new__(cls[,...]):對(duì)象實(shí)例化調(diào)用的第一個(gè)方法。當(dāng)繼承的父類不可改變時(shí),才會(huì)重寫此方法
舉例:將字符串都變?yōu)榇髮?/p>

#str類不可改變
class CapStr(str)
  def __new__(cls,string):
      string=string.upper()
      return str.__new__(cls,string)

del(self):只有當(dāng)所有引用都del后才會(huì)自動(dòng)調(diào)用析構(gòu)函數(shù),也是python的垃圾回收機(jī)制

2、對(duì)象計(jì)算
__add__(self,other)
__sub__(self,other)
...加減乘除位移都可

3、功能方法
__string__(self):當(dāng)調(diào)用print打印字符串時(shí)自動(dòng)執(zhí)行
舉例:

class A():
  def __string__(self):
    return  '自動(dòng)打印'
a=A()
print(a)
#結(jié)果為自動(dòng)打印

__repr__(self):調(diào)用對(duì)象時(shí)直接顯示返回內(nèi)容
舉例:

class B():
  def __repr__(self):
    return  '自動(dòng)顯示'
b=B()
b
#結(jié)果為自動(dòng)顯示
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容