web-dev-qa-db-de.com

Wie verkette ich einen Boolean mit einem String in Python?

Ich möchte folgendes erreichen

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

und habe den Wert von myvar "die Antwort ist wahr". Ich bin mir ziemlich sicher, dass Sie dies in Java tun können.

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

Python führt kein implizites Casting durch, da implizites Casting kritische Logikfehler maskieren kann. Antworte einfach auf einen String selbst, um seine String-Darstellung zu erhalten ("True"), oder benutze die String-Formatierung wie folgt:

myvar = "the answer is %s" % answer

Beachten Sie, dass die Antwort auf True gesetzt sein muss (Großschreibung ist wichtig).

99

Die empfohlene Methode ist, str.format das Casting ( docs ) abwickeln zu lassen. Methoden mit %s-Substitution werden möglicherweise nicht mehr unterstützt (siehe 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)

oder 

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

antwort = wahr

myvar = 'the answer is' + str (answer) #some, da die Antwortvariable im Boolean-Format ist, müssen wir das Boolean-Format in ein String-Format konvertieren, das mit diesem Befehl problemlos ausgeführt werden kann 

drucken (myvar)

1

Verwenden der sogenannten f-Zeichenfolgen:

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

Dann wenn ich tue

print(myvar)

Ich werde bekommen:

the answer is True

Ich mag f-Zeichenfolgen, weil man sich keine Gedanken darüber machen muss, in welcher Reihenfolge die Variablen im gedruckten Text erscheinen. Dies ist hilfreich, wenn mehrere Variablen als Zeichenfolgen gedruckt werden.

1
BCArg

In der neuesten Version von Python (3.7.0) wurden f-Strings eingeführt.

Hinweis: 

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

funktioniert nicht, weil Booleans nicht zu Strings zusammengefasst werden können.

Mit einem F-String können Sie eine String-Version des boolean erstellen und mit dem Ausgabestring auf einmal verknüpfen, wie folgt:

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

Um f-Strings zu verwenden, setzen Sie die Variable (beliebiger Art) in geschweifte Klammern {} und setzen Sie ein f vor den String (wie oben gezeigt).

Hinweis: Dies funktioniert auch mit Ganzzahlen und anderen Datentypen, die .__ sein können. in die print()-Funktion analysiert.

0