这个__str__函数应该是相当于 Java中的toString()方法,作用是打印出一个对象的属性 ;
如果使用print来打印要一个对象,然后又定义了__str__这个函数,应该就会自动调用这个函数,然后这个函数就根据slef来获取对象的各个属性,然后就打印出图片中所示的各项属性输出了。
参考链接:
print一个类的时候就是在调用类内部的str方法
如果你没有重写这个方法,那么默认打印的是类名和地址
你重写了那么str里返回什么就打印什么
python里所有的类,不写继承的时候默认继承的是object这个基类,里面其实已经写好了一些方法的
print(sue)执行时就会调用对象的__str__方法
有帮助的话,请点采纳该答案~
这是固定的类对象转换为字符串的函数格式。跟JAVA的ToString一样
类似的函数包括__init__是初始化函数
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
# 重写__str__()函数,自定义对象转字符串的格式
def __str__(self):
return ("姓名:%s\t年龄:%d" % (self.name, self.age))
print(sue)会调用字符串转换,这是python的约定