Class里 print 整个class的办法

Python类的__str__与__repr__方法
本文详细介绍了Python中__str__和__repr__方法的使用,通过实例展示了如何定义这两个方法来定制类实例的字符串表示形式。__str__用于返回一个易于阅读的字符串,而__repr__则提供了一个更详细的字符串表示,通常用于调试。

str__和__repr
如果要把一个类的实例变成 str,就需要实现特殊方法__str__():

class Person(object):
def init(self, name, gender):
self.name = name
self.gender = gender
def str(self):
return ‘(Person: %s, %s)’ % (self.name, self.gender)

p = Person(‘Bob’, ‘male’)
print p
(Person: Bob, male)
但是,如果直接敲变量 p:
p
<main.Person object at 0x10c941890>
似乎__str__() 不会被调用。

class Tweet:
def init(self, who: str, when: date, what: str) -> None:
self.userid = who
self.content = what
self.created_at = when
self.likes = 0
def str(self):
return ’ %s, %s’ % (self.userid, self.content)
repr = str
t1=Tweet(‘Rukhsana’, date(2017, 9, 16), ‘Hey!’)
t1
Rukhsana, Hey!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值