模擬數(shù)值類型

一個(gè)簡(jiǎn)單的二維向量類


上述實(shí)例包含了一個(gè)Vector類的實(shí)現(xiàn),其包含了__repr__, __abs__, __add__, 以及__mul__四個(gè)特殊方法,下面介紹一下特殊方法:

如何使用特殊方法

特殊方法的存在是為了被Python解釋器調(diào)用的,你自己并不需要調(diào)用它們,也就是說(shuō)沒(méi)有my_object.__len__()這種寫法,而應(yīng)該使用len(my_object)。在執(zhí)行l(wèi)en(my_object)的時(shí)候,如果my_object是一個(gè)自定義類的對(duì)象,那么Python會(huì)自己去調(diào)用其中由你實(shí)現(xiàn)的__len__方法。

在上述實(shí)例中,我們?cè)赺_repr__的實(shí)現(xiàn)中,用到了%r來(lái)獲取對(duì)象各個(gè)屬性的標(biāo)準(zhǔn)字符串表示形式,這是個(gè)好習(xí)慣,它暗示了一個(gè)關(guān)鍵:Vector(1,2)和Vector('1','2')是不一樣的,因?yàn)橄蛄繉?duì)象的構(gòu)造函數(shù)只接受數(shù)值,不接受字符串。

?著作權(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ù)。

相關(guān)閱讀更多精彩內(nèi)容

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