15

これを理解しようとしてインターウェブを精査しましたが、運がありません. 私が知る限り、通常、return ステートメントは 1 つしかありませんが、テストで「true」を返すには、return ステートメントに改行が必要です。私が試したのは、おそらく初歩的なミスで、エラーを吐き出すことです。改行を試みない私の現在の機能は以下の通りです。

def game(word, con):
   return (word + str('!')
   word + str(',') + word + str(phrase1)

改行 (\n) は return ステートメントで機能するはずですか? それは私のテストではありません。

4

4 に答える 4

25

Python では、開き括弧により、後続の行が閉じ括弧まで同じ行の一部と見なされます。

したがって、次のことができます。

def game(word, con):
    return (word + str('!') +
            word + str(',') +
            word + str(phrase1))

しかし、この特定のケースではそれをお勧めしません。構文的に有効であり、他の場所で使用する可能性があるため、言及します。

他にできることは、バックスラッシュを使用することです。

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

または、この特定のケースでは、書式設定された文字列を使用することをお勧めします。

def game(word, con):
    return "{word}!{word},{word}{phrase1}".format(
        word=word, phrase1=phrase1")

それはあなたがあなたの中でやっていることと機能的に同等であるように見えますが、私は本当に知りません. ただし、この場合は後者を使用します。

STRING に改行が必要な場合は、必要な場所で "\n" を文字列リテラルとして使用できます。

def break_line():
    return "line\nbreak"
于 2013-09-01T06:38:20.613 に答える
4

+return ステートメントで行を分割することはできますが、最後の括弧を忘れており、別の演算子 (この場合は a )で区切る必要もあります。

変化する:

def game(word, con):
   return (word + str('!')
   word + str(',') + word + str(phrase1)

に:

def game(word, con):
   return (word + str('!') + # <--- plus sign
   word + str(',') + word + str(phrase1))
#                                       ^ Note the extra parenthesis

andを呼び出すのは無意味であることstr()に注意してください。それらはすでに文字列です。'!'','

于 2013-09-01T06:30:13.433 に答える