%r用rper()方法處理物件
%s用str()方法處理物件
有些情況下,兩者處理的結果是一樣的,比如說處理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
返回結果:
2014-04-14
datetime.date(2014, 4, 14)
可見,%r列印時能夠重現它所代表的物件(rper() unambiguously recreate the object it represents)
參考:
Python中 r與 s的區別
r是rper 方法處理的物件 s是str 方法處理的物件 其實有些情況下,兩者處理的結果是一樣的,比如說處理資料型別為int型物件 例如1 print i am d year old.22 print i am s year old.22 print i am r year old.22 返回的結果...
Python中 r和 s的詳解及區別
python中 r和 s的詳解 r用rper 方法處理物件 s用str 方法處理物件 有些情況下,兩者處理的結果是一樣的,比如說處理int型物件。例一 print i am d years old.22 print i am s years old.hpbpcuecr 22 print i am r...
Python中「 r」與「 n」區別
print asdfg nss end print asdfg r nss end print asdfg rss end 直接輸出,第一行和第三行的結果是一樣的。asdfg ss p.s.第二行的結果是在中間空了一行 但是,切換到終端後再執行第一行和第三行的結果有了明顯不同 print asdfg...