2017-02-27 74 views
-3

我在閱讀「Learn Python the hard way」(由Zed Shaw撰寫),它說%r用於「原始表示和調試」。什麼是原始表示?

對於這樣一個不知情的問題,我很抱歉,但我不知道這是什麼意思。

+1

這是'repr'函數返回的表示形式。它與'str'類似,但是用於內部使用而不是顯示。無論打印元素的類型如何,都可能很有用。 [相關](http://stackoverflow.com/questions/1436703/difference-between-str-and-repr-in-python) –

+0

@PaulRooney您可以在下面回答 –

+1

@cricket我期待它被關閉爲在任何時候都是一個騙局,所以沒想到一個答案是適當的 –

回答

0

所以你知道%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 
+0

謝謝!這非常有幫助 – Fallingtoo