Führende 0 am Anfang auffüllen über .zfill()
Über die Methode zfill()
werden am Anfang Nullen auffüllen. Es muss ein Parameter für die gewünschten Anzahl aufzufüllenden Stellen mitgegeben werden.
Dabei steht das „z“ bei der Methode für „Zero“ – also mit „Nullen füllen“ wenn man den englischen Begriff übersetzt.
Beispiel:
text = "20"
print(text.zfill(8))
Als Ergebnis erhalten wir:
00000020
Wird der Parameter vergessen, erhält man als Fehlermeldung: „TypeError: zfill() takes exactly one argument (0 given)“
Es muss auch ein String übergeben werden! Man denkt zwar beim Auffüllen mit Nullen immer an Zahlen, allerdings werden wir auch dann eine Fehlermeldung erhalten, wenn wir eine Zahl anstelle eines Strings übergeben würden ( zahl = 20
). Als Fehlermeldung kommt dann: „AttributeError: 'int' object has no attribute 'zfill'“
Inhalt länger als Anzahl der aufzufüllenden Nullen
Wenn unser Inhalt länger ist als die Anzahl der aufzufüllenden Nullen, kommt einfach unser Inhalt und keine Nullen.
text = "Inhalt länger als 8 Zeichen"
print(text.zfill(8))
Ergebnis:
Inhalt länger als 8 Zeichen
Führendes +/- Zeichen - wird nach vorne geschoben
Wenn es ein führendes +/- Zeichen gibt, werden die anzuhängenden Nullen nach den +/- Zeichen aufgefüllt.
text = "-123"
print(text.zfill(8))
Somit erhalten wir als Ergebnis:
-0000123
Alternativen zu zfill()
- rjust()
Die Methode .rjust()
kann auch einen String auffüllen, als weiteren Vorteil können wir aber das Zeichen angeben, mit dem der String aufgefüllt werden soll. Hierzu folgendes Beispiel:
text = "-123"
print(text.rjust(8,"0"))
Als Ergebnis erhalten wir:
0000-123
Alle String-Methoden für formatierte Ausgabe:
ljust() = String wird linksbündig zurückgeliefert (Füllzeichen möglich)
center() = String wird zentriert ausgegeben (Füllzeichen möglich)
rjust() = String wird rechtsbündig zurückgeliefert (Füllzeichen möglich)
zfill() = String wird mit Nullen (Zero) aufgefüllt