最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python中__str__()的妙用

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

前言

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

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

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

實(shí)現(xiàn) str 方法來(lái)定制一個(gè)類的實(shí)例的字符串表示。

知識(shí)點(diǎn)????

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__(),基本用不上。建議查看官方文檔,粗略了解即可。

先來(lái)看一組簡(jiǎn)單的代碼(這個(gè)類沒有實(shí)現(xiàn)任何功能

"""demo.py"""


class Nothing:
    ...


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

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

剖析

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

再來(lái)看一組復(fù)雜點(diǎn)的代碼

"""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__() 后與 默認(rèn)打印的類實(shí)例對(duì)比如下圖所示:

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

后話

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

相關(guān)文章

  • python實(shí)現(xiàn)拓?fù)渑判虻姆椒ú襟E

    python實(shí)現(xiàn)拓?fù)渑判虻姆椒ú襟E

    拓?fù)渑判蚴菍?duì)有向無(wú)環(huán)圖進(jìn)行排序的一種算法,本文主要介紹了python實(shí)現(xiàn)拓?fù)渑判虻姆椒ú襟E,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-03-03
  • python數(shù)據(jù)分析工具之 matplotlib詳解

    python數(shù)據(jù)分析工具之 matplotlib詳解

    對(duì)于 Python 來(lái)說,matplotlib 是最著名的繪圖庫(kù),它主要用于二維繪圖,當(dāng)然也可以進(jìn)行簡(jiǎn)單的三維繪圖。這篇文章主要介紹了python數(shù)據(jù)分析工具之 matplotlib的相關(guān)知識(shí),需要的朋友可以參考下
    2020-04-04
  • Python簡(jiǎn)單獲取網(wǎng)卡名稱及其IP地址的方法【基于psutil模塊】

    Python簡(jiǎn)單獲取網(wǎng)卡名稱及其IP地址的方法【基于psutil模塊】

    這篇文章主要介紹了Python簡(jiǎn)單獲取網(wǎng)卡名稱及其IP地址的方法,結(jié)合實(shí)例形式分析了Python基于psutil模塊針對(duì)本機(jī)網(wǎng)卡硬件信息的讀取操作簡(jiǎn)單使用技巧,需要的朋友可以參考下
    2018-05-05
  • Python實(shí)現(xiàn)交通數(shù)據(jù)可視化的示例代碼

    Python實(shí)現(xiàn)交通數(shù)據(jù)可視化的示例代碼

    本文主要分享了Python交通數(shù)據(jù)分析與可視化的實(shí)戰(zhàn)!其中主要是使用TransBigData庫(kù)快速高效地處理、分析、挖掘出租車GPS數(shù)據(jù),感興趣的可以了解一下
    2023-04-04
  • opencv3/python 鼠標(biāo)響應(yīng)操作詳解

    opencv3/python 鼠標(biāo)響應(yīng)操作詳解

    今天小編就為大家分享一篇opencv3/python 鼠標(biāo)響應(yīng)操作詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧
    2019-12-12
  • Django分頁(yè)查詢并返回jsons數(shù)據(jù)(中文亂碼解決方法)

    Django分頁(yè)查詢并返回jsons數(shù)據(jù)(中文亂碼解決方法)

    這篇文章主要介紹了Django分頁(yè)查詢并返回jsons數(shù)據(jù)(中文亂碼解決方法),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來(lái)看看吧
    2018-08-08
  • Django filter動(dòng)態(tài)過濾與排序?qū)崿F(xiàn)過程解析

    Django filter動(dòng)態(tài)過濾與排序?qū)崿F(xiàn)過程解析

    這篇文章主要介紹了Django filter動(dòng)態(tài)過濾與排序?qū)崿F(xiàn)過程解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-11-11
  • 淺談python import引入不同路徑下的模塊

    淺談python import引入不同路徑下的模塊

    下面小編就為大家?guī)?lái)一篇淺談python import引入不同路徑下的模塊。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來(lái)看看吧
    2017-07-07
  • python 實(shí)現(xiàn)矩陣填充0的例子

    python 實(shí)現(xiàn)矩陣填充0的例子

    今天小編就為大家分享一篇python 實(shí)現(xiàn)矩陣填充0的例子,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧
    2019-11-11
  • Python3.7下安裝pyqt5的方法步驟(圖文)

    Python3.7下安裝pyqt5的方法步驟(圖文)

    這篇文章主要介紹了Python3.7下安裝pyqt5的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-05-05

最新評(píng)論

湘潭县| 荥经县| 乳源| 临沂市| 河西区| 平顶山市| 喀喇| 静海县| 呼伦贝尔市| 伊川县| 莱阳市| 德清县| 静海县| 乌兰县| 达孜县| 枣阳市| 汶上县| 博客| 玛沁县| 璧山县| 郑州市| 乌拉特前旗| 娄烦县| 荣昌县| 宁武县| 遂溪县| 营口市| 达州市| 翼城县| 宁阳县| 墨竹工卡县| 当涂县| 陆良县| 桦甸市| 婺源县| 安顺市| 莎车县| 漠河县| 惠东县| 乃东县| 类乌齐县|