Python中自定义类如果重写了__repr__方法为什么会影响到str的输出?
生活随笔
收集整理的這篇文章主要介紹了
Python中自定义类如果重写了__repr__方法为什么会影响到str的输出?
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
這是因為Python3中,str的輸出是調用類的實例方法__str__來輸出,如果__str__方法沒有重寫,則自動繼承object類的__str__方法,而object類的__str__方法是調用__repr__方法,因此自定義類未重寫__str__方法的情況下,實際上就是調用該類的__repr__方法,因此__repr__方法重寫會影響到str的輸出,除非在自定義類中也重寫__str__方法才可以單獨輸出信息。
具體可參考:
《Python __repr__方法和__str__方法、內置函數repr和str的異同點對比剖析》
《Python重寫自定義類的__repr__方法》
《 Python重寫自定義類的__str__方法》
老猿Python,跟老猿學Python! 博客地址:https://blog.csdn.net/LaoYuanPython
轉載于:https://www.cnblogs.com/LaoYuanPython/p/11144500.html
總結
以上是生活随笔為你收集整理的Python中自定义类如果重写了__repr__方法为什么会影响到str的输出?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 坐便器多少钱啊?
- 下一篇: Data - 数据思维 - 下篇