python类中方法__str__()和__repr__()简单粗暴总结

在交互式模式下,类中同时实现__str__()和__repr__()方法:

直接输入实例名称显示repr返回的类容;

用print打印实例名称显示str返回的内容;

>>> class Test:
...     def __repr__(self):
...         return 'Test -> return repr'
...     def __str__(self):
...         return 'Test -> return str'
...     
>>> t = Test()
>>> t
Test -> return repr
>>> print(t)
Test -> return str

在交互式模式下,如果只实现了__repr__()方法则:

直接输入实例名称和print打印都显示repr返回的内容。

>>> class Test:
...     def __repr__(self):
...         return 'Test -> return repr'
... 
>>> t = Test()
>>> t
Test -> return repr
>>> print(t)
Test -> return repr

在交互式模式下,如果只实现了__str__()方法则:

直接输入实例名称返回的是对象地址信息。

而print打印输出的是str返回的内容。

在学习过程中有什么不懂得可以加
我的python学习交流扣扣qun,688244617
群里有不错的学习教程、开发工具与电子书籍。
与你分享python企业当下人才需求及怎么从零基础学习好python,和学习什么内容。

>>> class Test:
...      def __str__(self):
...          return 'Test -> return str'
...  
>>> t = Test()
>>> t
<__main__.Test object at 0x00000234355D43C8>
>>> print(t)
Test -> return str

总结:

一般情况下,让repr成为str的一个别名输出相同的内容就可以了。

>>> class Test:
...     def __str__(self):
...         return 'Test -> return str'
...     __repr__ = __str__
...     
>>> t = Test()
>>> t
Test -> return str
>>> print(t)
Test -> return str
已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页