这两个魔法方法都是格式化对象输出的显示,本质上没什么区别,只是在不同的情景下会调用不同的方法
我们在终端下:
结论:
str函数或者print函数--->
obj.__str__()
repr或者交互式解释器--->
obj.__repr__()
如果
__str__
没有被定义,那么就会使用__repr__
来代替输出注意:这俩方法的返回值必须是字符串,否则抛出异常
这两个魔法方法都是格式化对象输出的显示,本质上没什么区别,只是在不同的情景下会调用不同的方法
我们在终端下:
obj.__str__()
obj.__repr__()
__str__
没有被定义,那么就会使用__repr__
来代替输出