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__()
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章