2012-12-06 39 views
0

我很困惑...爲什麼/如何a不同於b?!他們爲什麼不打印同樣的東西?爲什麼Python字符串表現得有趣?

>>> a = '"' 
>>> a 
'"' 
>>> b = "'" 
>>> b 
"'" 
+5

我無法複製它。無論是在Python 2.7還是3.3中。 –

+0

不,我在平等測試中得到了False。 –

+0

@EmilIvanov:啊,是的,平等測試。 –

回答

5

字符串沒有呈現不同。他們的陳述只是調整,以避免必須引用包含的報價。 '"都是合法的字符串文字分隔符。

請注意,的內容的字符串有很大不同。 "'不是相同的字符串; a == b是(顯然)False

否則Python將不得不使用\反斜槓作爲"'字符。如果您在字符串中使用字符,然後Python是強制使用引用:

>>> '\'"' 
'\'"' 
>>> """Tripple quoted means you can use both without escaping them: "'""" 
'Tripple quoted means you can use both without escaping them: "\'' 

正如你所看到的,通過Python中的字符串表示仍然使用單引號和反斜線表示,去年字符串。

+1

一個像我這樣的完整的Python noob看起來像第一個變量包含雙引號('''),第二個引號(''')。這些字符串應該不一樣嗎? (不是我的downvote。) – zoul

+0

@zoul:不,python接受兩種樣式的評論。 –

+1

從問題中的例子看來,其中一個字符串包含''',而另一個包含'''。引用部分清楚。 –

相關問題