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

python中__repr__與__str__方法詳解

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

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

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

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

代碼示例:

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òu)建該對象的字符串(或至少能夠描述該對象)。
  • 用途:__repr__ 通常用于調(diào)試、日志記錄、交互式環(huán)境(如 Python shell),以及當(dāng)你打印對象時,Python 會自動調(diào)用該方法。如果未定義 __str__ 方法,__repr__ 會被用作 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)面向終端用戶,簡潔、友好、易讀面向開發(fā)者,詳細(xì)、無歧義、可重建對象
輸出格式通常為簡單的字符串描述,易于理解返回盡可能完整的對象信息,通常包括類名和參數(shù)
用途主要用于 print()、str() 輸出主要用于調(diào)試、交互式環(huán)境、日志記錄
默認(rèn)行為如果沒有定義 __str__,Python 會調(diào)用 __repr__如果沒有定義 __repr__,Python 會調(diào)用默認(rèn)的 __repr__,該默認(rèn)方法返回一個類似 <__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)建一個 Point 對象
p = Point(3, 4)

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

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

總結(jié)

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

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

相關(guān)文章

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

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

    在日常的數(shù)據(jù)處理、內(nèi)容分析和知識管理工作中,我們經(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ì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2025-06-06
  • Python-pywin32庫的使用高級操作方法

    Python-pywin32庫的使用高級操作方法

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

最新評論

遂川县| 哈密市| 咸丰县| 江源县| 常熟市| 金溪县| 新龙县| 定州市| 巴中市| 辰溪县| 新巴尔虎左旗| 安阳县| 辽源市| 平罗县| 黄平县| 临澧县| 公主岭市| 平邑县| 屯门区| 会理县| 江华| 靖边县| 清丰县| 安多县| 伊川县| 锦屏县| 桦川县| 沅陵县| 广安市| 稷山县| 体育| 虞城县| 临桂县| 泾源县| 酒泉市| 富裕县| 中阳县| 宿迁市| 上高县| 榆社县| 河曲县|