模擬數(shù)值類型

一個簡單的二維向量類


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

如何使用特殊方法

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

在上述實例中,我們在__repr__的實現(xiàn)中,用到了%r來獲取對象各個屬性的標準字符串表示形式,這是個好習慣,它暗示了一個關鍵:Vector(1,2)和Vector('1','2')是不一樣的,因為向量對象的構造函數(shù)只接受數(shù)值,不接受字符串。

?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

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

  • 特殊方法__xxx__ 首先明確一點, 特殊方法的存在是為了被 Python 解釋器調用的, 你自己并不需要調用它...
    時間之友閱讀 667評論 0 0
  • Python 面向對象Python從設計之初就已經(jīng)是一門面向對象的語言,正因為如此,在Python中創(chuàng)建一個類和對...
    順毛閱讀 4,366評論 4 16
  • 一、基礎知識:1、JVM、JRE和JDK的區(qū)別:JVM(Java Virtual Machine):java虛擬機...
    殺小賊閱讀 2,560評論 0 4
  • 本周翻譯主要涉及了證據(jù)的三個類型:專家觀點,實驗和數(shù)據(jù)。 專家觀點:專家的信譽十分重要。而一個專家所涉及的領域也是...
    梁夢婷閱讀 260評論 0 1
  • 9月18日,我以一個農(nóng)村小學兼職美術教師的身份,經(jīng)由縣市兩級選拔加盟省賽,奔赴衡水比賽現(xiàn)場。歷經(jīng)6個多小時的夜車煎...
    66隨心99閱讀 359評論 0 3

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