欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

函数重写

程序员文章站 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)
相关标签: 函数重写