python str repr方法区别

在设计类时,__str__方法的返回值会被预先为用户友好型字符串,__repr方法的返回值会被预先定义为“含有相关有效信息”的字符串,比如

a = 'abc'
print(str(a))  # 输出 abc
print(repr(a))   # 输出'abc'

同样是打印,第二种打印方式就明确地表达了a是一个字符串。

另外,我认为比较重要的知识点是:print语句默认调用对象的__str__方法。如果一个对象不含有__str__,才会去调用__repr__

class Mine:
    def __str__(self):
        return('str')

    def __repr__(self):
        return('repr')

a = Mine()
print(a)  # 输出 str

但如果把上述代码中的__str__方法删除,print语句就会输出repr

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值