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

python中__repr__與__str__方法詳解

 更新時(shí)間:2025年11月14日 08:25:47   作者:小小小小祥  
本文主要介紹了python中__repr__與__str__方法詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

__str__ __repr__ 是 Python 中兩個(gè)非常重要的魔法方法,它們都用于定義對(duì)象的字符串表示,但各自的使用場(chǎng)景和目標(biāo)有所不同。

1.__str__:面向用戶的字符串表示

  • 目的:__str__ 主要用于為對(duì)象提供一個(gè)友好的、易于理解的字符串表示,通常是面向終端用戶或者外部系統(tǒng)的輸出。
  • 用途:當(dāng)你使用 print() 函數(shù)或者 str() 函數(shù)時(shí),Python 會(huì)調(diào)用對(duì)象的 __str__ 方法。它應(yīng)該返回一個(gè)簡(jiǎn)潔、直觀且易于閱讀的字符串。

代碼示例:

class Point:
    def __init__(self, x, y):
        self.x = x
        self.y = y

    def __str__(self):
        return f"Point at ({self.x}, {self.y})"

p = Point(3, 4)
print(p)

代碼輸出:

Point at (3, 4)

2.__repr__:面向開發(fā)者的字符串表示

  • 目的:__repr__ 的主要目的是為開發(fā)者提供一種無歧義的、盡可能詳細(xì)的字符串表示,以便于調(diào)試和開發(fā)。它應(yīng)該盡量返回一個(gè)能夠重新構(gòu)建該對(duì)象的字符串(或至少能夠描述該對(duì)象)。
  • 用途:__repr__ 通常用于調(diào)試、日志記錄、交互式環(huán)境(如 Python shell),以及當(dāng)你打印對(duì)象時(shí),Python 會(huì)自動(dòng)調(diào)用該方法。如果未定義 __str__ 方法,__repr__ 會(huì)被用作 print() 輸出的后備方法。

代碼示例:

class Point:
    def __init__(self, x, y):
        self.x = x
        self.y = y

    def __repr__(self):
        return f"Point(x={self.x}, y={self.y})"

p = Point(3, 4)
print(repr(p))

代碼輸出:

Point(x=3, y=4)

3.__str__vs__repr__:區(qū)別

特性__str____repr__
目標(biāo)面向終端用戶,簡(jiǎn)潔、友好、易讀面向開發(fā)者,詳細(xì)、無歧義、可重建對(duì)象
輸出格式通常為簡(jiǎn)單的字符串描述,易于理解返回盡可能完整的對(duì)象信息,通常包括類名和參數(shù)
用途主要用于 print()、str() 輸出主要用于調(diào)試、交互式環(huán)境、日志記錄
默認(rèn)行為如果沒有定義 __str__,Python 會(huì)調(diào)用 __repr__如果沒有定義 __repr__,Python 會(huì)調(diào)用默認(rèn)的 __repr__,該默認(rèn)方法返回一個(gè)類似 <__main__.ClassName object at 0x000000> 的表示

4. 綜合示例

class Point:
    def __init__(self, x, y):
        self.x = x
        self.y = y

    def __str__(self):
        return f"Point at ({self.x}, {self.y})"

    def __repr__(self):
        return f"Point(x={self.x}, y={self.y})"

# 創(chuàng)建一個(gè) Point 對(duì)象
p = Point(3, 4)

# 面向用戶的字符串表示
print(str(p))  # Output: Point at (3, 4)

# 面向開發(fā)者的字符串表示
print(repr(p))  # Output: Point(x=3, y=4)

總結(jié)

  • __str__ 是用戶友好的輸出,返回一個(gè)易于理解的字符串
  • __repr__ 是開發(fā)者友好的輸出,返回一個(gè)更詳細(xì)的、能夠重建對(duì)象的字符串
  • 如果 __str__ 沒有定義,Python 會(huì)回退到使用 __repr__

到此這篇關(guān)于python中__repr__與__str__方法詳解的文章就介紹到這了,更多相關(guān)python __repr__ __str__內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 使用Python解析五大主流文檔從PDF到EPUB的全攻略

    使用Python解析五大主流文檔從PDF到EPUB的全攻略

    在日常的數(shù)據(jù)處理、內(nèi)容分析和知識(shí)管理工作中,我們經(jīng)常需要從各種格式的文檔中提取信息,今天,我將為大家詳細(xì)介紹如何用Python解析五種最常見的文檔格式:PDF、Markdown、TXT、DOC和EPUB,需要的朋友可以參考下
    2026-01-01
  • conda安裝GPU版pytorch默認(rèn)卻是cpu版本

    conda安裝GPU版pytorch默認(rèn)卻是cpu版本

    本文主要介紹了遇到Conda安裝PyTorch GPU版本卻默認(rèn)安裝CPU的問題,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2025-06-06
  • Python-pywin32庫(kù)的使用高級(jí)操作方法

    Python-pywin32庫(kù)的使用高級(jí)操作方法

    文章介紹了Python的pywin32庫(kù),該庫(kù)允許訪問Windows?API并執(zhí)行高級(jí)操作,對(duì)Python?pywin32庫(kù)使用方法感興趣的朋友跟隨小編一起看看吧
    2025-11-11
  • Python?Pyecharts繪制?;鶊D分析用戶行為路徑

    Python?Pyecharts繪制?;鶊D分析用戶行為路徑

    這篇文章主要為大家介紹了Python?Pyecharts繪制?;鶊D分析用戶行為路徑,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-05-05
  • matplotlib bar()實(shí)現(xiàn)多組數(shù)據(jù)并列柱狀圖通用簡(jiǎn)便創(chuàng)建方法

    matplotlib bar()實(shí)現(xiàn)多組數(shù)據(jù)并列柱狀圖通用簡(jiǎn)便創(chuàng)建方法

    這篇文章主要介紹了matplotlib bar()實(shí)現(xiàn)多組數(shù)據(jù)并列柱狀圖通用簡(jiǎn)便創(chuàng)建方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-02-02
  • Tensorflow tf.nn.atrous_conv2d如何實(shí)現(xiàn)空洞卷積的

    Tensorflow tf.nn.atrous_conv2d如何實(shí)現(xiàn)空洞卷積的

    這篇文章主要介紹了Tensorflow tf.nn.atrous_conv2d如何實(shí)現(xiàn)空洞卷積的,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-04-04
  • python實(shí)現(xiàn)合并兩個(gè)數(shù)組的方法

    python實(shí)現(xiàn)合并兩個(gè)數(shù)組的方法

    這篇文章主要介紹了python實(shí)現(xiàn)合并兩個(gè)數(shù)組的方法,實(shí)例分析了兩種常用的合并數(shù)組的技巧,非常簡(jiǎn)單實(shí)用,需要的朋友可以參考下
    2015-05-05
  • Python實(shí)現(xiàn)模擬分割大文件及多線程處理的方法

    Python實(shí)現(xiàn)模擬分割大文件及多線程處理的方法

    這篇文章主要介紹了Python實(shí)現(xiàn)模擬分割大文件及多線程處理的方法,涉及Python文件讀取、分割及多線程相關(guān)操作技巧,需要的朋友可以參考下
    2017-10-10
  • 使用Python的Flask框架來搭建第一個(gè)Web應(yīng)用程序

    使用Python的Flask框架來搭建第一個(gè)Web應(yīng)用程序

    Flask框架是一個(gè)以輕量級(jí)著稱的Web開發(fā)框架,近兩年來在Web領(lǐng)域獲得了極高的人氣,這里我們就來看如何使用Python的Flask框架來搭建第一個(gè)Web應(yīng)用程序
    2016-06-06
  • Python元組Tuple常用函數(shù)詳解

    Python元組Tuple常用函數(shù)詳解

    Python元組Tuple使用小括號(hào)()包裹,元素之間使用逗號(hào),間隔,元組與列表相似,但元組的元素不可變,本文就給大家詳細(xì)介紹一下元組的常用函數(shù)以及基本操作,感興趣的朋友可以參考閱讀下
    2023-07-07

最新評(píng)論

望都县| 绥德县| 淅川县| 彝良县| 苗栗市| 独山县| 普兰店市| 大石桥市| 山阴县| 壤塘县| 涿州市| 遵义县| 望奎县| 金沙县| 建昌县| 江津市| 泊头市| 印江| 章丘市| 兰州市| 措勤县| 社会| 宣威市| 久治县| 济宁市| 阿合奇县| 二连浩特市| 汉中市| 都昌县| 铜鼓县| 宾阳县| 卢龙县| 周至县| 南投市| 剑川县| 陵水| 酉阳| 台北市| 广宗县| 罗甸县| 烟台市|