python魔法方法__str__ 和 __repr__的區別

在python3中,所有類的父類object類實現了__str__和__repr__兩個魔法方法,那麼這兩個方法究竟有什麼用呢

下面我們用代碼來演示以下

>>> class A:
...     def __str__(self):
...         return '1'
...     def __repr__(self):
...         return '2'
...
>>> a = A()
>>> a
2
>>> print(a)
1

從以上打印結果可以看出:

當我們打印實例對象的時候,會調用__str__方法;該方法主要用於對用戶進行輸出展示

當我們調用實例對象的時候,會調用__repr__方法;該方法主要用於程序員自己調試觀測

tips: 

1.這兩個方法的返回值都必須是字符串類型

2.如果__str__方法未重寫,而__repr__方法已重寫,那麼當打印實例對象的時候,會自動調用__repr__方法

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章