python进阶--魔法方法之类的表示

下面的魔法方法都可以用了描述类

1、__str__

该方法一般返回字符串,也许不会返回一个有效的 Python 表达式,但可以使用更方便或更准确的描述信息。在类中重写该方法,用来输出类的属性值等信息

调用:str(object)或者内置函数format()或者print()都会调用__str__()方法

class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age

    def describe(self):
        print('名字:'+self.name + ',年龄:' + str(self.age))

    #重写_str__函数
    def __str__(self):
        return 'str:'+'名字:'+self.name + ',年龄:' + str(self.age)


if __name__ == '__main__':
    p = Person('Joy', 25)
    print(p)
    #print(str(p))

    p.describe()

输出:
str:名字:Joy,年龄:25
名字:Joy,年龄:25

2、__repr__

用来输出一个对象的“官方”字符串表示。返回值必须是字符串对象此方法通常被用于调试。内置类型 object 所定义的默认实现会调用 object.__repr__()
调用:通过repr()调用

class Person:
    def __init__(self, name

你可能感兴趣的:(python,开发语言)