Python 中類別的自訂字串表示形式
考慮以下類別:
class foo(object): pass
的預設字元字串表示形式這個類別是:
>>> str(foo) "<class '__main__.foo'>"
要自訂類別本身(而不是類別的實例)的字串表示形式,請利用元類別概念。元類是創建其他類的類,允許調整它們的行為。
在類別的元類別中實作 __str__() 或 __repr__() 方法。 __str__() 方法提供可讀取的字串表示形式,而 __repr__() 提供明確的表示形式。
class MC(type): def __repr__(self): return 'Customized class!' class C(object): __metaclass__ = MC print(C)
輸出:
Customized class!
對於Python 3,修改程式碼如下:
class MC(type): def __repr__(self): return 'Customized class!' class C(object, metaclass=MC): pass print(C)
輸出:
Customized class!
透過在
通過在在元類別中實作__str__() 或__repr__() 方法,您可以定義在列印時顯示的自訂字串表示形式類別。以上是如何在Python中自訂類別的字串表示形式?的詳細內容。更多資訊請關注PHP中文網其他相關文章!