如何在 Python 中将布尔值连接到字符串?

问题描述 投票:0回答:7

我想完成以下任务

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

并且让 myvar 的值为“答案是 True”。我很确定你可以用 Java 做到这一点。

python string casting boolean concatenation
7个回答
141
投票
answer = True
myvar = "the answer is " + str(answer)

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

myvar = "the answer is %s" % answer

请注意,答案必须设置为

True
(大写很重要)。


30
投票

推荐的方法是让

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

9
投票
answer = True
myvar = "the answer is " + str(answer)

myvar = "the answer is %s" % answer

3
投票

使用所谓的 f 字符串:

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

那么如果我这样做

print(myvar)

我会得到:

the answer is True

我喜欢 f 字符串,因为不必担心变量在打印文本中出现的顺序,这在有多个变量要打印为字符串的情况下很有帮助。


0
投票

答案=正确

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

打印(myvar)


0
投票

如果你想要 JSON boolean 而不是 python bool,你可以使用 json 模块,

print(json.dumps(True))

-2
投票
answer = “True”

myvars = “the answer is” + answer

print(myvars)

这应该很容易给你答案是 True,因为你已经使用引号将答案存储为字符串

© www.soinside.com 2019 - 2024. All rights reserved.