web-dev-qa-db-fra.com

Comment concaténer un booléen à une chaîne 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 sûr que vous pouvez le faire en Java.

51
travis1097
answer = True
myvar = "the answer is " + str(answer)

Python ne fait pas le casting implicite, car le casting implicite peut masquer des erreurs de logique critiques. Il suffit de lancer la réponse sur une chaîne elle-même pour obtenir sa représentation ("True"), ou d'utiliser le formatage de la chaîne comme suit:

myvar = "the answer is %s" % answer

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

99

La méthode recommandée consiste à laisser str.format gérer la conversion ( docs ). Les méthodes avec substitution %s peuvent être obsolètes (voir PEP3101 ). 

>>> answer = True
>>> myvar = "the answer is {}".format(answer)
>>> print myvar
the answer is True
10
wim
answer = True
myvar = "the answer is " + str(answer)

ou 

myvar = "the answer is %s" % answer
7
Squazic

réponse = vrai

myvar = 'la réponse est' + str (réponse) #sand la réponse est au format booléen, nous devons donc convertir le booléen au format chaîne, ce qui peut être facilement fait en utilisant 

print (myvar)

1

En utilisant les f strings:

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

Alors si je le fais

print(myvar)

J'aurai:

the answer is True

J'aime les chaînes de caractères car on n'a pas à s'inquiéter de l'ordre dans lequel les variables apparaîtront dans le texte imprimé, ce qui est utile dans le cas où plusieurs variables sont imprimées sous forme de chaînes.

1
BCArg

Dans la dernière version de Python (3.7.0), les chaînes de caractères f ont été introduites.

Remarque: 

boolean = True
output = 'The answer is' + boolean

ne fonctionnera pas, car les booléens ne peuvent pas être concatonés en chaînes.

En utilisant une chaîne de caractères, vous pouvez créer une version chaîne du booléen et la concatoner en une seule fois dans la chaîne de sortie, comme ceci:

boolean = True
output = f'The answer is {boolean}'

Pour utiliser les chaînes de caractères f, mettez la variable (de tout type) entre accolades {} et mettez un f devant la chaîne (comme indiqué ci-dessus).

Remarque: cela fonctionne également avec les entiers et autres types de données pouvant être analysé dans la fonction print().

0
Christian Loizou