如何在python中打印此字符串

时间:2015-09-01 05:09:04

标签: python

要打印的字符串: 他说“我很抱歉”

我做了这个

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???

3 个答案:

答案 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 \"    "