Bitte warten...

Python: Formatierte Ausgabe von Strings

► Python-Dokumentation: format

Um Strings in einer formatierten Weise auszugeben, wird die Funktion format() verwendet. Dies ist insbesondere nützlich, um Strings in einer Datei zu speichern, auf die lesend oder schreibend zugegriffen werden soll. Durch eine entsprechende Formatierung kann so die genaue Position eines Strings innerhalb der Datei festgelegt werden. Außerdem lassen sich komplexere Ausgaben über das Terminal auf diese Weise z. B. in einer Tabelle übersichtlich gestalten.

Die Definition der Formatierung wird in einem String notiert, auf den die Funktion format() angewendet wird. Der String enthält eine oder mehrere Definitionen, die innerhalb von geschweiften Klammern notiert werden. Der Inhalt der Klammern besteht aus der Position des zu formatierenden Objekts innerhalb der Argumentliste der Funktion format() gefolgt von einem Doppelpunkt und der individuellen Formatierungsangabe. Die Argumente der Funktion format() sind die einzelnen zu formatierenden Strings oder Zahlen.

Strings formatieren

► Python-Dokumentation: format

Für die Formatierung von Strings kann die Ausrichtung des Strings innerhalb des für den String reservierten Bereiches sowie die Gesamtlänge dieses Bereiches angegeben werden.

Für die Ausrichtung werden folgende Steuerzeichen verwendet:

< - linksbündig
^ - zentriert
> - rechtsbündig

Code kopieren
a = "Hund"
b = "Katze"
print("|----------|----------|----------|")
print("|{0:<10}|{1:^10}|{2:>10}|".format(a, b, "Maus"))

Zahlen formatieren

► Python-Dokumentation: format

Zusätzlich zu den oben beschriebenen Optionen stehen für die Formatierung von Zahlen weitere Optionen zur Verfügung.

f - Fließkommazahl
e - Exponentialschreibweise
% - Prozentformat (Multiplikation mit 100)

Neben der gewünschten Option kann die Gesamtlänge des reservierten Bereiches (hier: 14) sowie die Anzahl der Nachkommastellen (hier: 3, Standard: 6) angegeben werden.

Die folgenden Optionen wandeln eine Zahl für die Formatierung in ein anderes Zahlensystem um:

d - Dezimalzahl
b - Binärzahl
x - Hexadezimalzahl
o - Oktalzahl

Code kopieren
a = 200 / 3
b = 2000 / 3
print("|--------------|--------------|--------------|--------------|")
print("|{0:f}|{0:e}|{0:%}|                       |".format(a))
print("|{0:f}|{0:e}|{0:%}|                     |".format(b))
print("|{0:14f}|{0:14e}|{0:14%}|              |".format(a))
print("|{0:14f}|{0:14e}|{0:14%}|              |".format(b))
print("|{0:14.3f}|{0:14.3e}|{0:14.3%}|              |".format(a))
print("|{0:<14.3f}|{0:^14.3e}|{0:>14.3%}|              |".format(b))

print("|{0:14d}|{0:14b}|{0:^14x}|{0:<14o}|".format(256))

# gibt die Zahl 9 binär mit 8 Stellen aus:
print("{0:0>8b}".format(9))