How do I concatenate a boolean to a string in Python?
I want to accomplish the following
answer = True
myvar = "the answer is " + answer
and have myvar's value be "the answer is True". I'm pretty sure you can do this in Java.
answer = True
myvar = "the answer is " + str(answer)
Python does not do implicit casting, as implicit casting can mask critical logic errors. Just cast answer to a string itself to get its string representation ("True"), or use string formatting like so:
myvar = "the answer is %s" % answer
Note that answer must be set to True
(capitalization is important).
The recommended way is to let str.format
handle the casting (docs). Methods with %s
substitution may be deprecated eventually (see PEP3101).
>>> answer = True
>>> myvar = "the answer is {}".format(answer)
>>> print(myvar)
the answer is True
In Python 3.6+ you may use literal string interpolation:
>>> print(f"the answer is {answer}")
the answer is True
answer = True
myvar = "the answer is " + str(answer)
or
myvar = "the answer is %s" % answer
Using the so called f strings:
answer = True
myvar = f"the answer is {answer}"
Then if I do
print(myvar)
I will get:
the answer is True
I like f strings because one does not have to worry about the order in which the variables will appear in the printed text, which helps in case one has multiple variables to be printed as strings.