Python中的__str__()方法与__repr__()方法

先告诉大家__str__()方法与__repr__()方法的返回值必须都是字符串,否则就会抛出异常。

看这一段代码

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

    def __str__(self):
        return "str-->我的名字是%s,我今年%s岁了,我是%s孩子" % (self.name, self.age, self.sex)

    def __repr__(self):
        return "repr-->我的名字是%s,我今年%s岁了,我是%s孩子" % (self.name, self.age, self.sex)


# 实例化一个对象
p = Person("丁七岁", 19, "男")
print("str方法:", str(p))
print("repr方法:", repr(p))

运行结果
在这里插入图片描述

至于这两个方法的区别:
当我们使用str函数或者print函数调用时,他是用的__str__()
当我们使用repr或者交互式解释器中调用时,他是用的__repr__()
发布了31 篇原创文章 · 获赞 33 · 访问量 2607

猜你喜欢

转载自blog.csdn.net/qq_43612538/article/details/104824152