Veröffentlicht am Schreib einen Kommentar

Strings formatieren in Python

Strings formatieren Python

Strings formatieren in Python

Leserliche Texte sind die Schnittstelle zwischen Menschen und Computer. Strings formatieren geht mit Python besonders einfach.

In diesem Blog-Post erfährst du folgendes:

  • Wie du Zeichenketten mit Python formatierst.
  • Wie du mit dem Datentyp datetime arbeitest.
  • Einfache Beispiele, wie du Konstanten und Funktionen aus Programmbibliotheken importierst.

Der Blog-Post ist Teil von Spiel mit Python – ein Online Programmiertraining für absolute Anfänger.

Strings formatieren mit Python – ein einfaches Beispiel

import datetime
jetzt = datetime.datetime.now()
temperatur = 31.57
print (f'Heute ist der {jetzt:%d.%m.%Y} und es sind {temperatur:.1f} °C')

Probiere gleich aus: Öffne den Playground und kopiere den Code in das Eingabefeld, das du dort oben links findest.

Lies hier weiter, um zu verstehen, was da passiert.

f-Strings mit Python

Das ist ein Beispiel dafür, wie mit Python die Ausgabe des Programms schön gestaltet werden kann. Im Code Snippet verwenden wir zwei Variablen

  • jetzt
  • temperatur

Die Ausgabe wird anders aussehen, je nachdem, welche Werte die beiden Variablen haben. Am besten probierst du das gleich aus.

Doch bauen wir dein Wissen über String-Formatierung der Reihe nach auf.

Der “+” Operator zur String-Konkatenierung

Das einfachste Beispiel:

print('Hello World')

Ausgabe: Hello World

Dabei ist ‘Hello World’ eine konstante Zeichenkette.

Wir könnten auch eine Variable einführen:

zeichen = 'Hello World'
print(zeichen)

Ausgabe: Hello World

 

Oftmals kommen wir in die Lage, zwei Zeichenketten für eine Ausgabe zu kombinieren:

print(zeichen + zeichen)

Ausgabe: Hello WorldHello

 

Die Ausgabe ist nicht gut lesbar und wir fügen ein Leerzeichen ein:

print (zeichen + '  '+ zeichen)

Ausgabe: Hello World Hello World

Doch das Aufbereiten von Zeichenketten mit dem “+” Operator ist unnötig aufwändig. Es gibt in Python3 eine sehr viel einfachere Möglichkeit:

f-Strings in Python – schnell und einfach schöne Strings erstellen

print (f'{zeichen})
print(f'{zeichen} {zeichen}')

Ausgabe: Hello World Hello World

So einfach ist das: mit f” wird die zu formatierende Zeichenkette gekennzeichnet.

Mit geschweiften Klammern umgeben wir die Variablen, die Python in der Zeichenkette einsetzen soll.

Und so können wir weitere Zeichen in den Ausgabestring hinzufügen:

print(f'{zeichen} und nocheinmal {zeichen}')

Ausgabe: Hello World und nocheinmal Hello World

f-Strings mit numerischen Werten

Oftmals wollen wir Zahlen für die Ausgabe formatieren. Auch dabei unterstützen uns die f-Strings.

Probiere gleich aus und verändere auch den Wert der Variablen Zahl:

zahl = 42
print (f'{zahl:<4}' )

Die Zahl wird linksbündig dargestellt – im Browser hat das keinen Effekt.

print (f'{zahl:_<4}')

Derselbe Effekt wie oben, aber die Zahl wird Links mit _ aufgefüllt bis sie insgesamt die Länge 4 erreicht. Man spricht von Padding.

print (f'{zahl:0>4}')

Derselbe Effekt wie oben, aber mit Nullen aufgefüllt.

print (f'{zahl:04d}')

Nochmals derselbe Effekt: Die Zahl wird vierstellig dargestellt und links mit Nullen aufgefüllt

Es brauchen nicht 4 Stellen zu sein, du kannst auch andere Werte einsetzen. Auch mit dem Padding-Zeichen kannst du spielen und es verändern.

 

Und jetzt kombinieren wir:

print (f'Die Zahl hat den Wert {zahl:0>4}')

Ausgabe: Die Zahl hat den Wert 0042

Aufpassen mit dem < und dem > Zeichen. Probiere gleich aus.

 

Interessant ist auch diese Möglichkeit:

print(f'{zahl=:0>4}')

Ausgabe: zahl=0042

 

Auch die Nachkommastellen können wir beeinflussen:

grösse=1.827
print(f'{grösse:.5f}')

Ausgabe: 1.82700

Nach dem Komma werden rechts Nullen aufgefüllt um die gewünschte Anzahl Zeichen zu erreichen, ein anderes Zeichen wäre nicht sinnvoll.

Und es wird sogar korrekt gerundet:

print(f'{grösse:.2f}')

Ausgabe: 1.83

 

Ausgehend von grösse=1.827.

Und wir können die Darstellung vor und nach dem Komma beeinflussen.

print (f'{grösse:0>12.5f}')

Ausgabe: 000001.82700

Also 12 Stellen insgesamt, davon 5 nach dem Komma und links mit Nullen gepaddet.

Auch die Tausender-Trennung ist möglich:

x = 1000000
print(f'{x:,}')

Ausgabe: 1,000,000

Als Trennzeichen sind allerdings nur die folgenden möglich: , und _

 

Datumsformatierung

Wir müssen oft mit Datums- und Zeitvariablen arbeiten und diese darstellen. Wir können unser Laptop nach dem aktuellen Datum und der aktuellen Zeit fragen:

 

import datetime
jetzt= datetime.datetime.now()
print(jetzt)

Die Ausgabe ist bei mir gerade: 2022-08-22 16:29:30.850000

Wir importieren die Library (Programmbibliothek) datetime.

Wir holen das aktuelle Datum und die aktuelle Zeit ab und versorgen diesen Wert in der Variablen mit der Bezeichnung jetzt und geben diese aus. Die Ausgabe erfolgt nicht im bei uns gebräuchlichen Format. Mit den f-Strings können wir datetime-Werte einfach formatieren:

print(f'Heute ist der {jetzt:%d.%m.%Y}')

Die Ausgabe ist bei mir jetzt gerade: Heute ist der 22.08.2022

Und damit haben wir alle Elemente vorgestellt, um das Code-Snippet zu verstehen und nachzubauen.

  • Sentence Embeddings für Vektordatenbanken
  • LLMs in Enterprise Search
  • Prompt Engineering Personas und Wiederholungen
  • Chatbot als Lernassistent
  • AI-Engineering-Fachglossar

Python Listen – einfache Übungen

Wende die Theorie praktisch an und vertiefe dein Verständnis. Entwickle die Lösungen der Challenges im Playground.

Challenge

Hole in der Programmbibliothek math die Variable pi ab. Das geht so:

from math import pi
print (pi)

Erzeuge die folgende Ausgabe:

pi=3.142
Pi=003.142
Ein Kreis habe den Radius 2.5.
Berechne die Fläche des Kreises und zwar so, dass das Programm auch für andere Radien funktioniert.
Erzeuge die folgende Ausgabe:
Ein Kreis mit Radius 2.5 hat die Fläche 19.6

Challenge

Erstelle mit einem Programm diese Tabelle

Radius=0 Umfang=000.000 Fläche=000.000
Radius=1 Umfang=006.283 Fläche=003.142
Radius=2 Umfang=012.566 Fläche=012.566
Radius=3 Umfang=018.850 Fläche=028.274
Radius=4 Umfang=025.133 Fläche=050.265
Radius=5 Umfang=031.416 Fläche=078.540
Radius=6 Umfang=037.699 Fläche=113.097
Radius=7 Umfang=043.982 Fläche=153.938
Radius=8 Umfang=050.265 Fläche=201.062
Radius=9 Umfang=056.549 Fläche=254.469
  • Python ist eine vielseitige Programmiersprache. Sie wird gerne genutzt, für Datenanalysen, Data Science und neu auch, um KI-gestützte, intelligente Apps zu entwickeln.

  • LLM-Tipps & Fachglossar

    Abonniere meinen Newsletter, erhalte regelmäßig Tipps und Tricks über den produktiven Einsatz von LLMs und ich schenke dir mein umfangreiches Fachglossar Von AI-Engineering bis Zero-Shot

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert