首頁 > 後端開發 > Python教學 > Python 的 `repr()` 函數與 `str()` 有何不同,以及為什麼在其輸出中加上雙引號?

Python 的 `repr()` 函數與 `str()` 有何不同,以及為什麼在其輸出中加上雙引號?

Susan Sarandon
發布: 2024-11-29 10:37:10
原創
529 人瀏覽過

How Does Python's `repr()` Function Differ from `str()`, and Why Are Double Quotes Added to its Output?

了解 Python 中的 repr( ) 函數

repr( ) 提供 Python 中物件的可計算字串表示形式。它傳回一個可以使用 eval( ) 函數求值的字串,從而產生相同的物件。

問題與解答:

1。為什麼要在 repr(x) 的輸出中加入雙引號?

repr( ) 包含雙引號的物件的字串表示形式,以表示可以由 eval( ) 計算的字串文字。相反,str() 不添加引號,因為它會傳回字串表示形式而不對其求值。

2.為什麼 eval("'foo'") 回傳 'foo' 而不是最初分配給它的物件 x?

eval( ) 將一個字串作為輸入並對其進行計算。當您呼叫 eval("'foo'") 時,它會解釋字串的內容並直接傳回 'foo',繞過使用 x 完成的物件分配。要評估物件本身,您需要將 x 作為參數傳遞給 eval( )。

其他見解:

  • repr( ) 對於提供可用於稍後重建物件的字串表示形式。
  • eval( ) 函數通常用於執行
  • str( ) 只是傳回物件的字串表示形式,而不對其進行求值。
  • Python 中的物件具有像 repr 和 __str__ 這樣的神奇方法,它們自訂物件的字串和表示形式。

以上是Python 的 `repr()` 函數與 `str()` 有何不同,以及為什麼在其輸出中加上雙引號?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板