Python中str 與repr 函式的區別

2021-10-02 20:37:38 字數 1037 閱讀 4803

python 中將某一變數或者常量轉換為字串物件通常有兩種辦法:一種是str(),另一種是repr()

a =

3print

(type

(str

(a)))#

print

(type

(repr

(a))

)#

先看乙個例子:
print

(str

("guo"))

# 輸出:guo

print

(repr

("guo"))

# 輸出:『guo』

區別總結:

從形式上看,列印輸出的時候str()函式並不輸出引號;而repr()函式是輸出引號的;

原因:實際上str()函式實際上是呼叫了物件的__str__方法;而repr()函式實際上是呼叫了物件的__repr__方法;

str()函式追求可讀性,輸出的格式便於理解,適合用於輸出內容到使用者終端;

repr()函式追求明確性,除了物件內容,還會展示物件的資料型別資訊,適合於開發和除錯階段使用;

下面的例子展示repr()存在的意義:

from datetime import datetime

now = datetime.now(

)print

(str

(now)

)# 輸出結果:2020-02-15 15:30:46.607890

print

(repr

(now)

)# 輸出結果:datetime.datetime(2020, 2, 15, 15, 30, 46, 607890)

PYTHON中 str 函式和 repr

自學python中,學習中總結的經驗部落格,如有錯誤,還請諒解 python中定義乙個類時,常用 str 以及 repr 函式輸出這個類的具體描述,但這兩個函式具體又有些什麼區別呢?一句話總結的話 repr 比 str 的使用要求更加嚴格,優先順序更低。優先順序比較 class my func ob...

python中str 與repr 函式的區別

共同點 1 都可以將某一型別的變數或者常量轉換為字串物件 2 對於一般資料型別兩者顯示沒有什麼區別 不同點 1 目標不同 str 主要面向使用者,其目的是可讀性,返回形式為使用者友好性和可讀性都較強的字串型別 repr 面向的是python直譯器,或者說開發人員,其目的是準確性,其返回值表示pyth...

str與repr的區別

python列印值的時候會保持該值在python 中的狀態,不是使用者所希望看到的狀態。而使用print列印值則不一樣,print列印出來的值是使用者所希望看到的狀態。例如 hello,world hello,world python列印出來的值是給python理解的,這裡python理解為字串,所...