def __init__和def__repr__和__str__有什么区别,分别有什么用
时间: 2023-10-25 15:07:05 浏览: 126
Python中__repr__和__str__区别详解
5星 · 资源好评率100%
`__init__`是一个特殊的方法,用于初始化一个类的实例。它在创建一个新的对象时被调用,并且可以用来设置初始状态或执行其他必要的操作。通常在这里进行属性的初始化。
`__repr__`是另一个特殊的方法,用于返回一个对象的“官方”字符串表示形式。它应该是一个可以用来重新创建对象的Python表达式,即使用`eval(repr(obj))`应该返回一个等价的对象。通常在调试和测试期间使用。
`__str__`也是一个特殊的方法,用于返回一个对象的字符串表示形式。与`__repr__`不同,`__str__`方法不需要返回一个Python表达式,而是返回一个更人类可读的字符串。通常在应用程序中使用。
简单来说,`__init__`是在创建对象时初始化属性,`__repr__`用于调试和测试,`__str__`用于应用程序中的可读字符串输出。
阅读全文