如何使用 print() 自定义类实例的字符串表示
打印类的实例时,默认行为通常会显示对象的内存位置。要自定义字符串表示形式并控制打印时显示的内容,您可以实现两种特殊方法: str 和 __repr__。
__str__:定义人类可读的字符串表示形式
str 方法定义了一般对象的字符串表示形式 使用。当您在对象上调用 print() 或 str() 时,会调用它。通过重写 __str__,您可以定义打印时显示的自定义输出。
__repr__:定义用于调试的字符串表示形式
repr方法定义用于调试目的的字符串表示形式。当您在对象上调用 repr() 或未定义 str__ 时,会调用它。 __repr 表示形式应该是计算结果为对象的有效 Python 表达式。
示例
要自定义类实例的字符串表示形式:
class Test: def __init__(self): self.a = 'foo' def __str__(self): return "member of Test" def __repr__(self): return "Test()"
在上面的例子中:
当您打印此实例时class:
t = Test() print(t)
它将在控制台上显示“Test 成员”,提供自定义且有意义的表示。
以上是如何重写`__str__`和`__repr__`来自定义类实例的打印输出?的详细内容。更多信息请关注PHP中文网其他相关文章!