一個是字符串,其它印刷字符串的repr()
表示。您可以將該表示重新粘貼到解釋器中以再次製作相同的字符串。
當回顯變量時,Python交互式提示始終使用repr()
,print
始終使用str()
字符串表示形式。
他們在其他方面是相同的。嘗試print repr(raw)
比較:
>>> "'\\x04\\x00\\x00\\x00\\x00\\x00\\x00\\x00g\\xc4|\\x00\\x00\\x00\\x00\\x00'"
"'\\x04\\x00\\x00\\x00\\x00\\x00\\x00\\x00g\\xc4|\\x00\\x00\\x00\\x00\\x00'"
>>> print "'\\x04\\x00\\x00\\x00\\x00\\x00\\x00\\x00g\\xc4|\\x00\\x00\\x00\\x00\\x00'"
'\x04\x00\x00\x00\x00\x00\x00\x00g\xc4|\x00\x00\x00\x00\x00'
>>> print repr("'\\x04\\x00\\x00\\x00\\x00\\x00\\x00\\x00g\\xc4|\\x00\\x00\\x00\\x00\\x00'")
"'\\x04\\x00\\x00\\x00\\x00\\x00\\x00\\x00g\\xc4|\\x00\\x00\\x00\\x00\\x00'"
除非逃脫反斜槓,我看不出差別。 – Makoto
print raw使用'repr'並且只使用raw使用'str'函數。 –
我的意思是輸出的差異不在價值本身。我認爲兩者都用於str –