Python基礎 repr函式和str的區別

2021-10-04 17:00:14 字數 1411 閱讀 9598

3、總結

在 python 中要將某一型別的變數或者常量轉換為字串物件通常有兩種方法,即 str() 或者 repr() 。

函式str() 用於將值轉化為適於人閱讀的形式,而repr() 轉化為供直譯器讀取的形式(如果沒有等價的語法,則會發生syntaxerror 異常), 適合開發和除錯階段使用。

number =

123456789

# 型別一致

print

(type

(str

(number)))

# print

(type

(repr

(number)))

# # 結果一致

print

(str

(number)

)# 123456789

print

(repr

(number)

)# 123456789

html =

"""我是p標籤

"""# 型別一致

print

(type

(str

(html)))

# print

(type

(repr

(html)))

# # 列印結果不一致

print

(str

(html)

)'''

我是p標籤

'''print

(repr

(html)

)'''

'\n\n\n

\n我是p標籤

\n\n'

'''

但當我們把乙個字串傳給 str() 函式再列印到終端的時候,輸出的字元不帶引號。而將乙個字串傳給 repr() 函式再列印到終端的時候,輸出的字元帶有引號。

造成這兩種輸出形式不同的原因在於:

print

('123456789'

.__repr__())

# '123456789'

# print 結合 repr() 實際上是呼叫物件的 __repr__ 方法輸出結果

print

('123456789'

.__str__())

# 123456789

# 而 print 語句結合 str() 函式實際上是呼叫了物件的 __str__ 方法來輸出結果。

str()函式:主要面向使用者,其目的是可讀性,返回形式為使用者友好性和可讀性都較強的字串型別;

repr()函式:面向的是python直譯器,或者說開發人員,其目的是準確性,其返回值表示python直譯器內部的含義,常作為程式設計人員debug用途。

Python內建函式str 和repr

內建函式str 和repr representation,表達,表示 或反引號操作符 可以方便地以字串的方式獲取物件的內容 型別 數值屬性等資訊。str 函式得到的字串可讀性好 故被print呼叫 repr 函式得到的字串通常可以用來重新獲得該物件,通常情況下 obj eval repr obj 這...

PYTHON中 str 函式和 repr

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

Python中的repr 函式

python 有辦法將任意值轉為字串 將它傳入repr 或str 函式。函式str 用於將值轉化為適於人閱讀的形式,而repr 轉化為供直譯器讀取的形式。repr 函式得到的字串通常可以用來重新獲得該物件,repr 的輸入對python比較友好。通常情況下obj eval repr obj 這個等式...