python __str__

1介绍

__str__str(object)时调用,默认打印的是内存地址,既hex(id(object))

class A:
    pass
a = A()
str(a)
'<__main__.A object at 0x7f3b94a113d0>'

2.重写__str__

class A:
    def __str__(self):
        return "重写了__str__方法"
a = A()
str(a)
'重写了__str__方法'

3.__str__调用了__repr__

所以重写__repr__方法也会改变str的结果

class A:
    def __repr__(self):
        return "重写了__repr__方法"

a = A()
str(a)
'重写了__repr__方法'

4作用

str主要是将对象转化为字符串,主要面向对象的使用者
repr也是将对象转化为字符串,主要面向对象的开发者

import datetime
today = datetime.datetime.now()
str(today)
'2020-08-05 11:51:34.177766'
repr(today)
'datetime.datetime(2020, 8, 5, 11, 51, 34, 177766)'

参考:
https://blog.csdn.net/sinat_41104353/article/details/79254149

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值