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

Sne*_*ezy 4 python-2.7

我正在尝试学习Python,并在进行练习时显示此错误。我的代码:

a = "Half of \nthis sentence."
b = "\tSo far away."
"""
print "Hi my name is %s" % 'Jonas'
Run Code Online (Sandbox Code Playgroud)

这是三重引号,但是为什么呢?我只是想在线条下腾出一个空白,以便在两者之间留一个空隙。

Lor*_*loi 8

就像已经说过的那样,您制作了一个没有结尾的字符串。

老实说,我并没有真正理解您使用此三引号试图做什么,因此我无法提供所需的代码。但请记住:

使用三引号定义一个字符串。

您已经知道这"意味着字符串的开头或结尾。也是如此"""!因此,如果您以开始一个句子""",则必须以结尾"""

print """Hello"""
Run Code Online (Sandbox Code Playgroud)

在某些情况下,当您必须打印某些字符(例如"或)时,这些三引号会很有用'

print """I have found the letter 'H' in the word "Hello"."""
Run Code Online (Sandbox Code Playgroud)

它们还具有一定的功能。它们允许在多行上定义长字符串。

print """The width of my
screen prevents me from
writing long sentences."""
Run Code Online (Sandbox Code Playgroud)

这就是为什么您会得到一个错误。该指令print "Hi my name is %s" % 'Jonas'实际上没有interpretated作为指令在这里,它将会被看作是一个字符串的第二行,因为它位于大关之后""",这意味着字符串已经开始。而且甚至没有完全定义此字符串,因为代码缺少"""标记字符串结尾的。