列印時自訂類別實例表示
嘗試列印類別的實例時,您可能會遇到預設表示,例如記憶體位址。若要自訂類別實例的列印外觀,請深入研究 __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中文網其他相關文章!