函数重写
程序员文章站
2022-05-07 13:02:09
...
class Person:
def __init__(self,name,hobby):
self.name = name
self.hobby = hobby
per = Person('小白','coding')
print(per)
执行结果:
<__main__.Person object at 0x00000210C403F2B0>
这里我们重写函数
class Person:
def __init__(self,name,hobby):
self.name = name
self.hobby = hobby
def __str__(self):
return '%s-%s'%(self.name,self.hobby)
per = Person('小白','coding')
print(per)
执行结果:
小白-coding
当我们打印对象的时候,重写__str__函数后,就可以按我们的想法的格式输出,但这里注意,__str__函数的返回值必须是一个字符串若类中不存在__str__,存在__repr__的时候,我们可以使用重写 __repr__,然后使用 __str__ = __repr__
如下:
class Person:
def __init__(self,name,hobby):
self.name = name
self.hobby = hobby
def __repr__(self):
return '%s-%s'%(self.name,self.hobby)
__str__ = __repr__
per = Person('小白','coding')
print(per)