当前位置: 移动技术网 > IT编程>脚本编程>Python > python类中方法__str__()和__repr__()简单粗暴总结

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

2019年08月29日  | 移动技术网IT编程  | 我要评论

ca1107,性虐电影,弈星连线器

在交互式模式下,类中同时实现__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返回的内容。

>>> 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

 

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网