首頁 > 後端開發 > Python教學 > 如何在 Python 中自訂列印類別實例的輸出?

如何在 Python 中自訂列印類別實例的輸出?

Patricia Arquette
發布: 2024-12-17 01:11:25
原創
544 人瀏覽過

How can I customize the output of printing a class instance in Python?

列印時自訂類別實例表示

嘗試列印類別的實例時,您可能會遇到預設表示,例如記憶體位址。若要自訂類別實例的列印外觀,請深入研究 __str__ 和 __repr__ 的概念。

__str__ 方法

透過在類別中定義 __str__ 方法,您可以控制列印時實例的表示方式。此方法應傳回一個包含所需顯示文字的字串。例如:

>>> class Test:
>>>     def __init__(self):
>>>         self.a = 'foo'
>>>     def __str__(self):
>>>         return f"Test with a: {self.a}"
登入後複製

現在,在列印此類別的實例時,您將獲得自訂字串表示形式:

>>> t = Test()
>>> t
Test with a: foo
>>> print(t)
Test with a: foo
登入後複製

__repr__ 方法

定義後的__repr__ 方法在使用repr() 函數列印時優先於__str__或在互動式提示中。它旨在提供更詳細的表示,適合調試或重建。如果您定義 __repr__ 而不使用 __str__,它也會作為列印表示。

例如:

>>> class Test:
>>>     def __init__(self):
>>>         self.a = 'foo'
>>>     def __repr__(self):
>>>         return f"Test(a={self.a})"
登入後複製

列印時:

>>> t = Test()
>>> t
Test(a='foo')
>>> repr(t)
"Test(a='foo')"
登入後複製

總結:

要自訂類別實例的列印實例表示,請定義一個__str__ 方法用於所需的顯示文本,或__repr__ 方法用於詳細表示。如果兩者都定義了,__str__ 用於列印,而 __repr__ 用於 repr() 函數。

以上是如何在 Python 中自訂列印類別實例的輸出?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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