86 votes

Comment concaténer un booléen à une chaîne de caractères en Python ?

Je veux accomplir ce qui suit

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

et que la valeur de myvar soit "la réponse est vraie". Je suis presque sûr que vous pouvez faire ça en Java.

135voto

Andrew Gorcester Points 10328
answer = True
myvar = "the answer is " + str(answer)

Python ne fait pas de casting implicite, car le casting implicite peut masquer des erreurs logiques critiques. Il suffit d'intégrer la réponse à une chaîne de caractères pour obtenir sa représentation ("True"), ou d'utiliser le formatage des chaînes de caractères comme suit :

myvar = "the answer is %s" % answer

Notez que la réponse doit être définie comme True (la majuscule est importante).

27voto

wim Points 35274

La méthode recommandée est de laisser str.format s'occupe du moulage ( docs ). Les méthodes avec %s La substitution peut être dépréciée à terme (voir PEP3101 ).

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

Dans Python 3.6+, vous pouvez utiliser interpolation de chaînes littérales :

 >>> print(f"the answer is {answer}")
the answer is True

8voto

Squazic Points 1811
answer = True
myvar = "the answer is " + str(answer)

o

myvar = "the answer is %s" % answer

3voto

BCArg Points 375

En utilisant ce qu'on appelle les cordes F :

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

Alors si je fais

print(myvar)

J'aurai :

the answer is True

J'aime les chaînes f car on ne doit pas se soucier de l'ordre dans lequel les variables apparaîtront dans le texte imprimé, ce qui est utile dans le cas où l'on a plusieurs variables à imprimer sous forme de chaînes.

0voto

Réponse = Vrai

myvar = 'the answer is ' + str(answer) #puisque la variable answer est au format booléen, nous devons convertir le booléen en chaîne de caractères, ce qui peut être facilement fait en utilisant ceci

print(myvar)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X