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 這個等式...