Comment concaténer un booléen à une corde en Python?

je veux accomplir le suivant

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

et ont myvar valeur de l'être ", la réponse est Vraie". Je suis presque sûr que tu peux faire ça à Java.

45
demandé sur Raymond Hettinger 2012-05-09 08:21:56

5 réponses

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

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

myvar = "the answer is %s" % answer

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

89
répondu Andrew Gorcester 2012-05-09 04:25:08

la méthode recommandée est de laisser str.format gérer le casting ( docs). Méthodes %s la substitution peut éventuellement être dépréciée (voir PEP3101).

>>> answer = True
>>> myvar = "the answer is {}".format(answer)
>>> print myvar
the answer is True
9
répondu wim 2014-07-28 17:04:21
answer = True
myvar = "the answer is " + str(answer)

ou

myvar = "the answer is %s" % answer
7
répondu Squazic 2012-05-09 05:49:22

Utilisation de la dite f cordes:

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

Ensuite, si je fais

print(myvar)

j'obtiens:

the answer is True

j'aime les chaînes f parce qu'on n'a pas à se soucier de l'ordre dans lequel les variables apparaîtront dans le texte imprimé, ce qui aide dans le cas où l'on a plusieurs variables à imprimer comme chaînes.

1
répondu BCArg 2018-03-21 18:56:15

dans la dernière version de Python (3.7.0), les F-strings ont été introduits.

Remarque:

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

pas travailler, parce que les booléens ne peut pas être concatonated à cordes.

en utilisant un F-string, vous pouvez créer une version string du booléen et le concatoner avec la chaîne de sortie en une seule fois, comme ceci:

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

pour utiliser F-strings, mettez la variable (de n'importe quel type) dans des accolades bouclées {} et mettre un f devant de la chaîne (comme illustré ci-dessus).

Remarque: cela fonctionne aussi avec des entiers et d'autres types de données qui peuvent être analysée dans le print() fonction.

0
répondu Christian Loizou 2018-09-20 22:00:49