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中文网其他相关文章!