一個簡單的二維向量類

上述實例包含了一個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ù)值,不接受字符串。