__str__和__repr__方法
__str__
和__repr__
方法
__str__
和__repr__
方法是Python中的特殊方法,用于定义对象的字符串表示形式。__str__
方法用于返回对象的可读性好的字符串表示形式,通常用于打印对象或将对象转换为字符串。- 当我们使用
print
函数打印一个对象时,实际上是调用了该对象的__str__
方法来获取字符串表示形式。 - 可以在类中重写
__str__
方法来自定义对象的打印输出内容。
- 当我们使用
__repr__
方法用于返回对象的官方字符串表示形式,它应该是一个可以用于创建该对象的有效Python表达式,并且能够准确地重新创建该对象。- 通常情况下,当我们在Python的交互式环境中直接输入一个对象名并回车时,实际上是调用了该对象的
__repr__
方法以获取对象的字符串表示形式。
- 通常情况下,当我们在Python的交互式环境中直接输入一个对象名并回车时,实际上是调用了该对象的
下面是一个示例:
class MyClass:
def __init__(self, value):
self.value = value
def __str__(self):
return f'MyClass(value={self.value})'
def __repr__(self):
return f'MyClass({self.value})'
obj = MyClass(10)
print(obj) # 调用__str__方法,输出:MyClass(value=10)
obj # 调用__repr__方法,输出:MyClass(10)
- 在以上示例中,
__str__
方法返回了一个可读性好的字符串形式,而__repr__
方法返回了一个官方字符串形式,可以用于重新创建该对象。
本文来自博客园,作者:Chimengmeng,转载请注明原文链接:https://www.cnblogs.com/dream-ze/p/17513073.html