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