Ich sehe, ich kann nicht:
"%b %b" % (True, False)
in Python. Ich vermutete %b
für b (oolean). Gibt es so etwas?
Ich sehe, ich kann nicht:
"%b %b" % (True, False)
in Python. Ich vermutete %b
für b (oolean). Gibt es so etwas?
Antworten:
>>> print "%r, %r" % (True, False)
True, False
Dies ist nicht spezifisch für boolesche Werte - %r
ruft die __repr__
Methode für das Argument auf. %s
(für str
) sollte auch funktionieren.
%r
und %s
?
print(str("foo"))
nur foo
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.
Sie können auch die Formatter- Zeichenfolgenklasse verwenden
print "{0} {1}".format(True, False);
print "{0:} {1:}".format(True, False);
print "{0:d} {1:d}".format(True, False);
print "{0:f} {1:f}".format(True, False);
print "{0:e} {1:e}".format(True, False);
Das sind die Ergebnisse
True False
True False
1 0
1.000000 0.000000
1.000000e+00 0.000000e+00
Einige der %
Typ-Typ-Bezeichner ( %r
, %i
) sind nicht verfügbar. Einzelheiten finden Sie in der Mini-Sprache der Formatspezifikation
{:_^5}
bekommst du es nur, '__1__'
wenn du str(...)
die Booleschen bist.
Um dies für Python-3 zu aktualisieren, können Sie dies tun
"{} {}".format(True, False)
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
>>> "{:<8} {}".format(True, False)
'1 False'
Um dies zu umgehen, können Sie True
eine Zeichenfolge verwenden, z
>>> "{:<8} {}".format(str(True), False)
'True False'