對象表示形式
每門面向對象的語言至少都有一種獲取對象的字符串表示形式的標準方
式。Python 提供了兩種方式。
- repr()
以便于開發者理解的方式返回對象的字符串表示形式。 - str()
以便于用戶理解的方式返回對象的字符串表示形式。
正如你所知,我們要實現__repr__ 和__str__ 特殊方法,為 repr()
和 str() 提供支持。
為了給對象提供其他的表示形式,還會用到另外兩個特殊方
法:bytes 和__format__。bytes 方法與__str__ 方法類
似:bytes() 函數調用它獲取對象的字節序列表示形式。而__format__ 方法會被內置的 format() 函數和 str.format() 方法調
用,使用特殊的格式代碼顯示對象的字符串表示形式。我們將在下一個
示例中討論__bytes__ 方法,隨后再討論__format__ 方法。
如果你是從 Python 2 轉過來的,記住,在 Python 3
中,repr,__str__和__format__都必須返回 Unicode 字
符串(str 類型)。只有__bytes__方法應該返回字節序列
(bytes 類型)。