在python中方法名如果是__xxxx__()的,那么就有特殊的功能,因此叫做"魔法"方法,在刷题的过程中遇到了需要输出类的属性的需求,而python中的__str__魔法方法就可以解决这个问题,__str__方法有点类似于Java中的tostring方法,我们在主方法创建对象的时候就可以对对象进行输出,输出对象的时候会自然调用__str__方法中返回的字符串,在程序编写的过程中我们可以利用这个方法来辅助我们调试,输出其中的属性值判断程序的执行变化过程
class Dog:
def __init__(self, name, age):
self.name = name
self.age = age
def __str__(self):
return "名字是: {}, 年龄是: {}".format(self.name, self.age)
if __name__ == '__main__':
# 当使用print输出对象的时候,只要自己定义了__str__(self)方法,那么就会打印从在这个方法中return的数据
# __str__方法需要返回一个字符串,当做这个对象的描写
obj = Dog("金毛", 3)
print(obj)