python中类的输出或类的实例输出为<__main__类名 object at xxxx>这种形式的原因
原因: __str__()这个特殊方法将对象转换为字符串的结果
效果图:
代码:
# 定义一个Person类 class Person(object): """人类""" def __init__(self, name , age): self.name = name self.age = age p = Person(‘小黑‘,18) print(p) print(‘\n\n\n\n\n‘) # 定义一个Person类 class Person(object): """人类""" def __init__(self, name , age): self.name = name self.age = age # __str__()这个特殊方法会在尝试将对象转换为字符串的时候调用 # 它的作用可以用来指定对象转换为字符串的结果 (print函数) def __str__(self): print(Person) return ‘Person [name=%s , age=%d]‘%(self.name,self.age) p = Person(‘小黑‘,18) print(p)
python中类的输出或类的实例输出为何是<__main__类名 object at xxxx>这种形式?