欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python中__str__()的妙用

 更新時間:2023年01月25日 10:54:37   作者:是小菜欸  
本文主要介紹了Python中__str__()的妙用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

前言

這里是Python小技巧的系列文章。這是第三篇,object.__str__(self)方法的妙用。

書接上回,這次還是介紹Python類的內(nèi)置方法,__str__()

據(jù)官方文檔的介紹,在使用 str(object) 、format() 和 print() 的時候會調(diào)用__str__() 方法,該方法會將實例轉(zhuǎn)換為字符串,返回值為 字符串 對象。
如果__str__()沒有被定義,就會調(diào)用 object.__repr__()。

實現(xiàn) str 方法來定制一個類的實例的字符串表示。

知識點????

object.__str__(self)https://docs.python.org/zh-cn/3.8/reference/datamodel.html?object.repr
object.__repr__(self)https://docs.python.org/zh-cn/3/reference/datamodel.html?object.repr

關(guān)于__repr__(),基本用不上。建議查看官方文檔,粗略了解即可。

先來看一組簡單的代碼(這個類沒有實現(xiàn)任何功能

"""demo.py"""


class Nothing:
    ...


if __name__ == "__main__":
    print(Nothing())	# <__main__.Nothing object at 0x000002C2CFD06650> 0x2c2cfd06650

默認的打印結(jié)果是當前類的實例的名稱和內(nèi)存地址,如下圖所示(不夸張地說,這個類實例的打印可以說是毫無用處?。?!

剖析

在代碼復雜的情況下,再打印默認的類實例,那就顯得太雞肋了。
這個時候我們就需要重寫 __str__()方法了,使得它更加人性化。

再來看一組復雜點的代碼

"""demo.py"""


class Nothing:
    name = 'frica'
    age = 20

    def __str__(self):
        return f'Nothing(name={self.name}, age={self.age})'


if __name__ == "__main__":
    print(Nothing())

代碼執(zhí)行效果如下:

重寫 __str__() 后與 默認打印的類實例對比如下圖所示:

孰優(yōu)孰劣一目了然

后話

本次介紹及重寫了 __str__(),在重寫之后,可以更為方便且準確的描述信息類實例的信息,這對于我們的編程工作是有幫助的。更多相關(guān)Python __str__()內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python文件寫入實例分析

    python文件寫入實例分析

    這篇文章主要介紹了python文件寫入的用法,實例分析了Python文件寫入的使用技巧,非常具有實用價值,需要的朋友可以參考下
    2015-04-04
  • 基于Python手寫拼音識別

    基于Python手寫拼音識別

    這篇文章主要介紹了基于Python手寫拼音識別,因項目組需要使用到拼寫識別,考慮到每個字母的復雜度不高,所以使用KNN算法來嘗試實現(xiàn),下面來看看具體實現(xiàn)詳情吧,需要的小伙伴也可以參考一下
    2022-01-01
  • pytorch模型訓練的時候GPU使用率不高的問題

    pytorch模型訓練的時候GPU使用率不高的問題

    這篇文章主要介紹了pytorch模型訓練的時候GPU使用率不高的問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • python實現(xiàn)實時監(jiān)控文件的方法

    python實現(xiàn)實時監(jiān)控文件的方法

    這篇文章主要為大家詳細介紹了python實現(xiàn)實時監(jiān)控文件的3種方法,感興趣的小伙伴們可以參考一下
    2016-08-08
  • Appium自動化測試實現(xiàn)H5頁面元素定位

    Appium自動化測試實現(xiàn)H5頁面元素定位

    本文主要介紹了Appium自動化測試實現(xiàn)H5頁面元素定位,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • python如何變換環(huán)境

    python如何變換環(huán)境

    在本篇內(nèi)容里小編給各位分享的是一篇關(guān)于python如何變換環(huán)境的相關(guān)基礎(chǔ)文章,有需要的朋友們可以參考下。
    2020-07-07
  • 在tensorflow以及keras安裝目錄查詢操作(windows下)

    在tensorflow以及keras安裝目錄查詢操作(windows下)

    這篇文章主要介紹了在tensorflow以及keras安裝目錄查詢操作(windows下),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-06-06
  • Python模塊介紹與使用詳細講解

    Python模塊介紹與使用詳細講解

    這篇文章主要介紹了Python模塊介紹與使用詳細講解,包括模塊的相關(guān)概念和使用方法,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-04-04
  • python序列化與數(shù)據(jù)持久化實例詳解

    python序列化與數(shù)據(jù)持久化實例詳解

    這篇文章主要介紹了python序列化與數(shù)據(jù)持久化,結(jié)合實例形式詳細分析了Python序列化與數(shù)據(jù)持久化相關(guān)原理、實現(xiàn)技巧與操作注意事項,需要的朋友可以參考下
    2019-12-12
  • Python算法輸出1-9數(shù)組形成的結(jié)果為100的所有運算式

    Python算法輸出1-9數(shù)組形成的結(jié)果為100的所有運算式

    這篇文章主要介紹了Python算法輸出1-9數(shù)組形成的結(jié)果為100的所有運算式,然后介紹了另外一個相關(guān)實例,具體內(nèi)容請參閱正文,需要的朋友可以參考下。
    2017-11-11

最新評論