Ich sehe, ich kann nicht:
"%b %b" % (True, False)
in Python. Ich vermutete %b
für b (oolean). Gibt es so etwas?
python
boolean
string-formatting
Juanjo Conti
quelle
quelle
Antworten:
Dies ist nicht spezifisch für boolesche Werte -
%r
ruft die__repr__
Methode für das Argument auf.%s
(fürstr
) sollte auch funktionieren.quelle
%r
und%s
?print(str("foo"))
nurfoo
in einer neuen Zeile.print(repr("foo"))
Es wird jedoch'foo'
in einer neuen Zeile gedruckt , einschließlich der Anführungszeichen, da Sie den Python-Interpreter eingeben müssen, um das entsprechende Objekt für das Argument in Python zu erhalten.Wenn Sie verwenden möchten
True False
:weil
str(True)
ist'True'
undstr(False)
ist'False'
.oder wenn Sie verwenden möchten
1 0
:weil
int(True)
ist1
undint(False)
ist0
.quelle
Sie können auch die Formatter- Zeichenfolgenklasse verwenden
Das sind die Ergebnisse
Einige der
%
Typ-Typ-Bezeichner (%r
,%i
) sind nicht verfügbar. Einzelheiten finden Sie in der Mini-Sprache der Formatspezifikationquelle
{:_^5}
bekommst du es nur,'__1__'
wenn dustr(...)
die Booleschen bist.!s
:'{!s:_^5}'.format(True)
ist'True_'
Um dies für Python-3 zu aktualisieren, können Sie dies tun
Wenn Sie die Zeichenfolge jedoch tatsächlich formatieren möchten (z. B. Leerzeichen hinzufügen), stößt Python auf die Umwandlung des Booleschen Werts in den zugrunde liegenden C-Wert (z. B. ein Int), z
Um dies zu umgehen, können Sie
True
eine Zeichenfolge verwenden, zquelle