首頁 > 後端開發 > Python教學 > 如何自訂 Python 類別實例的字串表示形式?

如何自訂 Python 類別實例的字串表示形式?

Patricia Arquette
發布: 2024-12-18 04:51:11
原創
142 人瀏覽過

How Can I Customize the String Representation of Python Class Instances?

自訂類別實例的字串表示

列印類別的實例時,預設輸出通常類似於0xXXXXXXXX 處的<__main__.classname>,它提供訊息有限。要自訂類別實例在列印時的顯示方式,必須了解字串表示的概念。

字串表示方法

Python 提供了兩種方法來控制類別和物件的字串表示:

  • __str__:定義使用print() 時實例應如何顯示函數。
  • __repr__:定義在使用 repr() 函數或互動式提示時應如何顯示實例。

覆寫字串表示形式

自訂類別實例的字串表示形式,您需要在類別定義中重寫這些方法。例如:

class Test:
    def __str__(self):
        return "Customized string representation"
登入後複製

透過提供 __str__ 的自訂實現,您可以在對 Test 類別的實例呼叫 print() 時控制輸出。

重寫兩個字串表示方法

在某些情況下,您可能希望提供不同的表示形式以用於列印和調試目的。在這種情況下,您可以在類別定義中重寫 __str__ 和 __repr__。

class Test:
    def __str__(self):
        return "User-friendly representation"

    def __repr__(self):
        return "Technical representation for debugging"
登入後複製

透過此實現,print()將顯示使用者友善的表示,而互動式提示和偵錯工具將顯示技術資訊

使用字串表示方法

定義自訂字串表示方法後,您就可以使用它們如下所示:

  • 要列印自訂字串表示形式:
print(instance_name)
登入後複製
  • 要在互動式提示或除錯工具中查看技術字符串表示形式:
repr(instance_name)
登入後複製

透過重寫 __str__ 和 __repr__,您可以自訂類別的輸出滿足您的特定要求的實例,使它們對於不同目的來說更具資訊性和有用性。

以上是如何自訂 Python 類別實例的字串表示形式?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板