前言
在Pyhton 中,如果想定制化打印出实例对象的信息,那可以使用__str__
和__repr__魔法方法来
定制化显示。
__str__
和__repr__
在Python中,打印一个自定义类的实例对象所显示的信息往往是很不友好的,如下所示:
__str__
和__repr__
所起的作用就是定制化显示输出信息(你想输出什么就是什么),当然,两者也有区别的,区别如下:
•对于print
和str
内置函数,程序会首先尝试__str__
,如果没有__str__
,则尝试__repr__
,如果没有__repr__
,则选用默认显示。•在交互式回应,repr
函数中__repr__
会被调用,你可以这么认为,__str__
是给用户看的,__repr__
则是给开发者看的. 看下面示例:
从上面示例可以看出 print
和 str
函数中调用的是 __str__
, 而在交互式响应中 和 repr
函数中调用的是__repr__。
本文分享自微信公众号 - 软件测试架构师俱乐部(gh_03227f9a322f)。
如有侵权,请联系 [email protected] 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。