在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__方法