python 內建函數 str() 和 repr() 的區別


1、內建函數str()和repr() 或反引號操作符(``)可以方便地以字符串的方式獲取對象的內容、類型、數值屬性等信息。

2、str()函數得到的字符串可讀性好(故被print調用)

3、repr()函數得到的字符串通常可以用來重新獲得該對象,通常情況下 obj==eval(repr(obj)) 這個等式是成立的。這兩個函數接受一個對象作為其參數,返回適當的字符串。

4、事實上repr()和``做一樣的事情,返回一個對象的“官方”字符串表示。其結果絕大多數情況下(不是所有)可以通過求值運算(內建函數eval())重新得到該對象。

str()則不同,它生成一個對象的可讀性好的字符串表示,結果通常無法用eval()求值,但適合print輸出。

a = 'Hello, world.'
b = str(a)
c = eval(repr(a))
print a==b
print a==c
print str(a)   #對用戶友好
print repr(a)  # 對python友好

結果如下:

True
False
True
Hello, world.  
'Hello, world.'


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM