__str__在其他语言中, 也叫toString
python在打印对象时, 就是输出__str__中的内容, 默认是类名和内存地址
class Person:
def __init__(self,name="默认名", age=0):
self.name=name
self.age=age
xiaoming = Person("小明",18)
print(xiaoming)
输出结果, 是类名+内存地址
<__main__.Person object at 0x000001A0B9FEC160>
很多时候, 我们都需要看一下这个对象中到底有什么属性以及它的值, 可以这么做
class Person:
def __init__(self,name="默认名", age=0):
self.name=name
self.age=age
def __str__(self): #注意这个方法, 以及它的返回值
return "[name=%s ,age=%d]" % (self.name, self.age)
xiaoming = Person("小明",18)
print(xiaoming)
输出结果如下:
[name=小明 ,age=18]
__str__方法, 必须要有返回值, 而且是str类型, 它调用的值就是str返回值内容