類別的自訂字串表示形式:Pythonic 方法
在Python 中,為類別定義自己的字串表示形式可以更好地控制介紹了課程。與類似於
考慮以下類別:
class foo(object): pass
預設情況下,將foo 轉換為字串會產生:
>>> str(foo) "<class '__main__.foo'>"
要自訂此表示,您可以在類別的元類別中實作__str__() 或__repr__()。這些魔術方法分別負責傳回類別的可讀且明確的字串表示。
以下範例示範如何在元類別中實作自訂 __repr__():
class MC(type): def __repr__(self): return 'Wahaha!' class C(object): __metaclass__ = MC print(C)
這段程式碼將輸出「Wahaha!」當您列印類別 C 時。
如果您想要可讀的字串化,請使用 __str__;對於明確的表示,請使用 __repr__。 Python 3 要求您在類別定義本身中指定元類,如下所示:
class MC(type): def __repr__(self): return 'Wahaha!' class C(object, metaclass=MC): pass print(C)
以上是如何使用元類別自訂 Python 類別的字串表示形式?的詳細內容。更多資訊請關注PHP中文網其他相關文章!