扫描三引号字符串文字时的Python EOF

时间:2016-06-22 07:38:59

标签: python-2.7

我正在尝试学习Python并在练习时出现此错误。我的代码:

a = "Half of \nthis sentence."
b = "\tSo far away."
"""
print "Hi my name is %s" % 'Jonas'

这是三重引号,但为什么呢?我只是想在线下留空,所以我可以在两者之间留有空隙。

1 个答案:

答案 0 :(得分:4)

正如已经说过的那样,你已经创造了一个没有尽头的字符串。

说实话,我不能通过使用这个三重引号真正理解你想要做什么,所以我无法提供你想要的代码。但请记住:

使用三引号来定义字符串。

您已经知道"表示字符串的开头或结尾。 """的情况也是如此!因此,如果您使用"""开始一个句子,则必须使用"""关闭它。

print """Hello"""

在某些情况下,当您需要打印"'等字符时,这些三重引号非常有用。

print """I have found the letter 'H' in the word "Hello"."""

他们也有一定的特色;他们允许在几行上定义长字符串。

print """The width of my
screen prevents me from
writing long sentences."""

这就是你收到错误的原因。指令print "Hi my name is %s" % 'Jonas'实际上并未在此处被解释为指令,它被解释为字符串的第二行,因为它位于标记"""之后,这意味着字符串已经开始。而且这个字符串甚至没有完全定义,因为代码缺少标记字符串结尾的"""