python魔法方法__str__ 和 __repr__的区别

在python3中,所有类的父类object类实现了__str__和__repr__两个魔法方法,那么这两个方法究竟有什么用呢

下面我们用代码来演示以下

>>> class A:
...     def __str__(self):
...         return '1'
...     def __repr__(self):
...         return '2'
...
>>> a = A()
>>> a
2
>>> print(a)
1

从以上打印结果可以看出:

当我们打印实例对象的时候,会调用__str__方法;该方法主要用于对用户进行输出展示

当我们调用实例对象的时候,会调用__repr__方法;该方法主要用于程序员自己调试观测

tips: 

1.这两个方法的返回值都必须是字符串类型

2.如果__str__方法未重写,而__repr__方法已重写,那么当打印实例对象的时候,会自动调用__repr__方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值