1、__str__ : 将某一个类型强制转换为字符串型。
我们可以使用 __str__ 和 __repr__ 方法定义类到字符串的转化方式,而不需要手动打印某些属性或是添加额外的方法。
一般来说,__str__ 的返回结果在于强可读性,而 __repr__ 的返回结果在于准确性。
我们至少需要添加一个 __repr__ 方法来保证类到字符串的自定义转化的有效性,__str__ 是可选的。因为默认情况下,在需要却找不到 __str__ 方法的时候,会自动调用 __repr__ 方法。
# 如果要把一个类的实例变成 str,就需要实现特殊方法__str__():# 不使用__str__()方法class Student(object): def __init__(self,id,name,age): self.id=id self.name=name self.age=age s=Student(111,"Bob",18)print(s)输出结果:<__main__.Student object at 0x0000024F21058208># -----------------------------------------------------------------------# 使用__str__()方法class Student(object): def __init__(self,id,name,age): self.id=id self.name=name self.age=age def __str__(self): return "学号:{}--姓名:{}--年龄{}".format(self.id,self.name,self.age) __repr__ = __str__ ''' __repr__ = __str__ 使用时可保证在控制台>>> print() 时 任然输出 学号:111--姓名:Bob--年龄18 '''s=Student(111,"Bob",18)print(s)# 输出结果:学号:111--姓名:Bob--年龄18