https://blog.csdn.net/nanhuaibeian/article/details/86694581 文章目錄 一,、 `__repr__` 二,、 `__str__` 三、總結 一,、 __repr__ class Name: def __init__(self,name): self.name = name 1 2 3 上面打印類對象并不是很友好,,顯示的是對象的內存地址 此時我們重構 __repr__ class Name: def __init__(self,name): self.name = name def __repr__(self): return 'Name: %s' % self.name 1 2 3 4 5 重構__repr__方法后,不管直接輸出對象(面向開發(fā)者)還是通過print(面向用戶)打印的信息都按我們__repr__方法中定義的格式進行顯示了 二,、 __str__ 此時我們嘗試下重構__str__ class Name: def __init__(self,name): self.name = name def __str__(self): return 'Name: %s' % self.name 1 2 3 4 5 此時,,直接輸出對象(面向開發(fā)者)顯示對象的內存地址,使用print輸入對象顯示的是友好提示 三,、總結 如果要把一個類的實例變成 str,,就需要實現(xiàn)特殊方法__str__() __repr__和__str__這兩個方法都是用于顯示的,__str__是面向用戶的,,而__repr__面向開發(fā)者 想要直接輸出對象(面向開發(fā)者)和使用 print 輸入對象都顯示的是友好提示除了重構__repr__,,還可以重構__str__實現(xiàn) class Name: def __init__(self,name): self.name = name def __str__(self): return 'Name: %s' % self.name __repr__ = __str__ 1 2 3 4 5 6 ———————————————— 版權聲明:本文為CSDN博主「南淮北安」的原創(chuàng)文章,遵循CC 4.0 BY-SA版權協(xié)議,,轉載請附上原文出處鏈接及本聲明,。 原文鏈接:https://blog.csdn.net/nanhuaibeian/article/details/86694581 |
|