下面的魔法方法都可以用了描述类
__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
__repr__
用来输出一个对象的“官方”字符串表示。返回值必须是字符串对象,此方法通常被用于调试。内置类型 object 所定义的默认实现会调用 object.__repr__()
。
调用:通过repr()
调用
class Person:
def __init__(self, name