首頁 > 後端開發 > Python教學 > 為什麼在 Python 中重寫實例上的 `__repr__` 不起作用,如何有效實現?

為什麼在 Python 中重寫實例上的 `__repr__` 不起作用,如何有效實現?

Mary-Kate Olsen
發布: 2024-11-28 12:30:11
原創
676 人瀏覽過

Why Doesn't Overriding `__repr__` on an Instance Work in Python, and How Can It Be Effectively Achieved?

重寫實例上的特殊方法

考慮下面的程式碼片段:

據觀察,自訂__repr__ 方法不會被呼叫實例a.要理解這種行為,必須注意:

在CPython(標準Python在解釋器)中,名稱被 __ 包圍的特殊方法通常不會在實例上調用,而是在類別上調用。因此,嘗試直接在實例上覆寫 __repr__ 將不會產生預期結果。

要解決此限制,可以利用以下策略:

此處,__repr__呼叫輔助方法 _repr,然後該方法呼叫物件類別的預設 __repr__ 實作。透過重寫 _repr,我們可以有效地重寫實例上的 __repr__。

以上是為什麼在 Python 中重寫實例上的 `__repr__` 不起作用,如何有效實現?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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