2012-10-08 154 views
0

我閱讀官方手冊並查找這些示例。雙引號分隔符中的引號

  1. '"Isn\'t," she said.' 
    

    ,如果我改變\''

    '"Isn't," she said.' 
    

    蟒蛇會告訴你這是無效的語法。

    但是,如果我改變'"

    '"Isn"t," she said.' 
    

    它打印沒有錯誤。

    我認爲是在" "裏面,'會被看作是一個字符,但是爲什麼python告訴我有一個語法錯誤?

  2. 如果我將其更改爲

    '''"Isn't," she said.''' 
    

    它正常打印。是什麼

    '''"Isn't," she said.''' 
    

    '"Isn't," she said.' 
    

    之間的區別?

回答

4

一切從第一'單引號是一個字符串,包括雙引號。在單引號字符串中使用多少雙引號並不重要。該字符串在下一個遇到單引號結束,這就是爲什麼你必須轉義字面內的任何文字單引號。

在你的第二個例子中,你使用了一個三重報價的字符串。然後Python將所有內容視爲字符串文字的下一個三重引號(''')部分。

Python中接受4種不同的形式引用分隔文字字符串:

'single quotes' 
"double quotes" 
'''tripled single quotes''' 
"""tripled double quotes""" 

注意,當你使用三倍引號,換行,可以用:

"""Line one 
line two 
line three""" 

你不能做到這一點與單引用的字符串。

+0

@ kindall:感謝您的糾正;不是以母語爲母語的人,有一些拼寫錯誤不斷困擾着我。 :-) –

+0

沒問題。我只是固定它,因爲它不斷提醒我啤酒(trippel)。 :-) – kindall

+0

@ kindall:對我的語言根源有點責備。 :-)我現在可以去Grimbergen或Westmalle * .. –