要打印的字符串: 他说“我很抱歉”
我做了这个
1)"He said"
2)"He said Sorry"
3)"He said \"\"" >> He said ""
4)"He said \"Im Sorry\"" >> He said "Im Sorry"
5)"He said \"I'm Sorry\"" >> He said "I\'m Sorry" why???
答案 0 :(得分:3)
这是因为您正在使用REPL循环 1 (读取 - 评估 - 打印循环)将其打印出来,这将恢复为使用单引号和合适的转义:
>>> "He said \"I'm Sorry\""
'He said "I\'m Sorry"'
如果你直接使用print
(你必须在程序中使用它,因为REPL不会在那里自动回显结果),你可以使用以下任何一个:
>>> print("He said \"I'm Sorry\"")
He said "I'm Sorry"
>>> print('He said "I\'m Sorry"')
He said "I'm Sorry"
显然,我更喜欢后者,因为击键次数较少: - )
1 是的,我知道这是多余的,但它是一个很好的成语,用PIN码和ATM机等等: - )
答案 1 :(得分:0)
一个简单的解决方案是:
>>> print("""He said "I'm Sorry" """)
He said "I'm Sorry"
答案 2 :(得分:0)
你的报价搞砸了。
您的简单解决方案是:
print "He said \"I'm Sorry\""
我们在这里做的是用双引号开始string
然后我们要开始报价;但双引号已用于开始字符串,因此我们必须使用escape sequence
,这将允许我们使用双引号,而不会中断引用顺序。
然后我们可以在单词I'm
中使用常规单引号。我们再次使用escape sequence
来结束引用
之后,我们使用常规双引号来结束字符串。
使其更具可读性:
print " He said \" I'm Sorry \" "