86

我想完成以下

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

并让 myvar 的值为“答案为真”。我很确定你可以在 Java 中做到这一点。

4

6 回答 6

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

Python 不进行隐式转换,因为隐式转换可以掩盖关键的逻辑错误。只需将答案转换为字符串本身即可获取其字符串表示形式(“True”),或使用字符串格式,如下所示:

myvar = "the answer is %s" % answer

请注意,答案必须设置为True(大写很重要)。

于 2012-05-09T04:25:08.773 回答
27

推荐的方法是让str.format处理铸造(docs)。%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 回答
0

答案 = 真

myvar = '答案是' + str(answer) #因为答案变量是布尔格式,因此,我们必须将布尔值转换为字符串格式,这可以很容易地使用这个来完成

打印(myvar)

于 2018-11-05T03:24:01.127 回答
-2
answer = “True”

myvars = “the answer is” + answer

print(myvars)

这应该很容易为您提供答案,因为您已使用引号将答案存储为字符串

于 2020-05-26T15:54:47.503 回答