--init--()他的作用是初始化屬性!!
總結(jié):
init()方法,在創(chuàng)建一個(gè)對(duì)象時(shí)默認(rèn)被調(diào)用哄褒,不需要手動(dòng)調(diào)用
init(self)中,默認(rèn)有1個(gè)參數(shù)名字為self退客,如果在創(chuàng)建對(duì)象時(shí)傳遞了2個(gè)實(shí)參,那么init(self)中出了self作為第一個(gè)形參外還需要2個(gè)形 參萌狂,例如init(self,x,y)
init(self)中的self參數(shù)怀泊,不需要開發(fā)者傳遞,python解釋器會(huì)自動(dòng)把當(dāng)前的對(duì)象引用傳遞進(jìn)去
--str--他的作用是打印對(duì)象調(diào)用霹琼,但是要有返回
總結(jié):
在python中方法名如果是xxxx()的冤留,那么就有特殊的功能树灶,因此叫做“魔法”方法
當(dāng)使用print輸出對(duì)象的時(shí)候,只要自己定義了str(self)方法天通,那么就會(huì)打印從在這個(gè)方法中return的數(shù)據(jù)
--new--它的作用是創(chuàng)建對(duì)象并返回對(duì)象應(yīng)用
總結(jié):
new_至少要有一個(gè)參數(shù)cls,代表要實(shí)例化的類烘豹,此參數(shù)在實(shí)例化時(shí)由Python解釋器自動(dòng)提供
new必須要有返回值,返回實(shí)例化出來的實(shí)例携悯,這點(diǎn)在自己實(shí)現(xiàn)new時(shí)要特別注意,可以return父類new出來的實(shí)例筷笨,或者直接是object的new出來的實(shí)例
init有一個(gè)參數(shù)self,就是這個(gè)new返回的實(shí)例胃夏,init在new的基礎(chǔ)上可以完成一些其它初始化的動(dòng)作,init不需要返回值
--del--他的作用是刪除對(duì)象調(diào)用
總結(jié):
刪除對(duì)象的意思就是這個(gè)對(duì)象所對(duì)應(yīng)的內(nèi)存空間被釋放了
當(dāng)dog1被刪除了照雁,dog2還在答恶,引用計(jì)數(shù)減掉1而已饺蚊,內(nèi)存還不會(huì)被釋放