您好,登錄后才能下訂單哦!
小編給大家分享一下Python中%r和%s的區別是什么,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!
首先看下面的定義:
%r用rper()方法處理對象
%s用str()方法處理對象
函數str() 用于將值轉化為適于人閱讀的形式,而repr() 轉化為供解釋器讀取的形式(如果沒有等價的語法,則會發生SyntaxError 異常) 某對象沒有適于人閱讀的解釋形式的話, str() 會返回與repr()等同的值。很多類型,諸如數值或鏈表、字典這樣的結構,針對各函數都有著統一的解讀方式。
有些情況下,兩者處理的結果是一樣的,比如說處理int型對象。
例一:
print "I am %d years old." % 22 print "I am %s years old." % 22 print "I am %r years old." % 22
返回結果
I am 22 years old. I am 22 years old. I am 22 years old.
另外一些情況兩者就不同了
例二:
text = "I am %d years old." % 22 print "I said: %s." % text print "I said: %r." % text
返回結果
I said: I am 22 years old.. I said: 'I am 22 years old.'. #%r 給字符串加了單引號
再看一種情況
例三:
import datetime d = datetime.date.today() print "%s" % d print "%r" % d
返回結果
2017-08-16 datetime.date(2017, 8, 16)
可見,%r打印時能夠重現它所代表的對象(rper() unambiguously recreate the object it represents)。
看完了這篇文章,相信你對Python中%r和%s的區別是什么有了一定的了解,想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。