笔记之python__str__方法

class Person:
    def __init__(self, name, age, height):
        self.name = name
        self.age = age
        self.height = height

    def __str__(self):
        """返回对象的描述信息"""
        return '{}今年{}岁,身高{}cm'.format(self.name, self.age, self.height)


ming = Person('小明', 8, 175)
print(ming)  # 小明今年8岁,身高175cm
class Person:
    def __init__(self, name, age, height):
        self.name = name
        self.age = age
        self.height = height
        print(self)  # <__main__.Person object at 0x000001EA3FF41208>


ming = Person('小明', 8, 175)
print(ming)  # <__main__.Person object at 0x000002628A031208>
 默认情况下,print一个对象时,是打出内存地址, self的值也是这个
如果有重写自带的__str__方法,则print对象,是打印出方法中return的字符串

posted @ 2020-10-11 18:24  candidjuan  阅读(102)  评论(0)    收藏  举报