多行返回语句

Vox*_*Vox 9 python python-2.7

已经仔细检查了互联网试图解决这个问题,但没有运气.据我所知,你通常只有一个return语句,但我的问题是我需要在return语句中有换行符,以便测试返回'true'.我试过的是抛出错误,可能只是一个新手的错误.我目前的功能没有尝试进行换行,如下所示.

def game(word, con):
   return (word + str('!')
   word + str(',') + word + str(phrase1)
Run Code Online (Sandbox Code Playgroud)

新的换行符(\n)是否应该在返回语句中起作用?这不是我的测试.

sco*_*ame 15

在python中,一个开放的paren导致后续行被认为是同一行的一部分,直到一个紧密的paren.

所以你可以这样做:

def game(word, con):
    return (word + str('!') +
            word + str(',') +
            word + str(phrase1))
Run Code Online (Sandbox Code Playgroud)

但我不建议在这种特殊情况下.我提到它,因为它在语法上是有效的,你可以在其他地方使用它.

你可以做的另一件事是使用反斜杠:

def game(word, con):
    return word + '!' + \
           word + ',' + \
           word + str(phrase)
    # Removed the redundant str('!'), since '!' is a string literal we don't need to convert it
Run Code Online (Sandbox Code Playgroud)

或者,在这种特殊情况下,我的建议是使用格式化的字符串.

def game(word, con):
    return "{word}!{word},{word}{phrase1}".format(
        word=word, phrase1=phrase1")
Run Code Online (Sandbox Code Playgroud)

看起来它在功能上等同于你在你身上做的事情,但我真的不知道.后者是我在这种情况下要做的事情.

如果你想在STRING中换行,那么你可以在任何需要的地方使用"\n"作为字符串文字.

def break_line():
    return "line\nbreak"
Run Code Online (Sandbox Code Playgroud)