我在閱讀「Learn Python the hard way」(由Zed Shaw撰寫),它說%r
用於「原始表示和調試」。什麼是原始表示?
對於這樣一個不知情的問題,我很抱歉,但我不知道這是什麼意思。
我在閱讀「Learn Python the hard way」(由Zed Shaw撰寫),它說%r
用於「原始表示和調試」。什麼是原始表示?
對於這樣一個不知情的問題,我很抱歉,但我不知道這是什麼意思。
所以你知道%s
是用於大多數字符串,只是調用str()
通過格式化的變量。
repr()
,另一方面用於%r
並將返回「原始字符串」,這是在字符串變量上最容易看到的。
>>> print("%r vs. %s" % ('42','42'))
'42' vs. 42
Python printf String formatting
'r'
- 字符串(轉換使用repr()
任何Python對象)。
's'
- 字符串(使用str()
轉換任何Python對象)。
當它說,這是「調試」有用,想象你已經領先/在後面的空格...「原始」的形式將更加清晰。
print("%r vs. %s" % (' hello',' hello'))
' hello' vs. hello
謝謝!這非常有幫助 – Fallingtoo
這是'repr'函數返回的表示形式。它與'str'類似,但是用於內部使用而不是顯示。無論打印元素的類型如何,都可能很有用。 [相關](http://stackoverflow.com/questions/1436703/difference-between-str-and-repr-in-python) –
@PaulRooney您可以在下面回答 –
@cricket我期待它被關閉爲在任何時候都是一個騙局,所以沒想到一個答案是適當的 –