86

以下を実現したい

answer = True
myvar = "the answer is " + answer

myvar の値を「答えは True」にします。Javaでこれを行うことができると確信しています。

4

6 に答える 6

134
answer = True
myvar = "the answer is " + str(answer)

Python は暗黙的なキャストを行いません。暗黙的なキャストによって重大な論理エラーが隠される可能性があるからです。answer を文字列自体にキャストして文字列表現 ("True") を取得するか、次のような文字列フォーマットを使用します。

myvar = "the answer is %s" % answer

answer はTrue(大文字が重要です) に設定する必要があることに注意してください。

于 2012-05-09T04:25:08.773 に答える
27

推奨される方法はstr.format、キャストを処理させることです(ドキュメント)。%s置換を使用するメソッドは、最終的に非推奨になる可能性があります( PEP3101を参照)。

>>> answer = True
>>> myvar = "the answer is {}".format(answer)
>>> print(myvar)
the answer is True

Python 3.6以降では、リテラル文字列補間を使用できます。

 >>> print(f"the answer is {answer}")
the answer is True
于 2012-05-09T04:30:59.173 に答える
8
answer = True
myvar = "the answer is " + str(answer)

また

myvar = "the answer is %s" % answer
于 2012-05-09T04:23:43.890 に答える
3

いわゆる f 文字列の使用:

answer = True
myvar = f"the answer is {answer}"

もしそうなら

print(myvar)

私は手に入れます:

the answer is True

f 文字列が好きなのは、出力されるテキストに変数が表示される順序を気にする必要がないためです。これは、複数の変数を文字列として出力する場合に役立ちます。

于 2018-03-21T18:56:15.373 に答える