Python-Stringformatierung
Python ist eine beliebte Programmiersprache, die für ihre Einfachheit, Lesbarkeit und Vielseitigkeit bekannt ist. Eine der wichtigsten Funktionen von Python ist die Stringformatierung, die es Entwicklern ermöglicht, dynamische Strings zu erstellen, indem Variablen und Ausdrücke in Platzhalter innerhalb des Strings eingefügt werden. In diesem Leitfaden behandeln wir die folgenden Themen:
- Was ist Stringformatierung?
- Die alte Methode der Stringformatierung
- Die neue Methode der Stringformatierung
- Zahlen formatieren
- Strings formatieren
- Datums- und Zeitformatierung
- Erweiterte Stringformatierung
Was ist Stringformatierung?
Stringformatierung ist der Prozess des Erstellens formatierter Strings durch das Einfügen von Werten in Platzhalter innerhalb eines Strings. In Python gibt es mehrere Möglichkeiten, Strings zu formatieren, darunter der %-Operator, die format()-Methode und f-Strings. f-Strings sind der empfohlene Ansatz in modernem Python.
Die alte Methode der Stringformatierung
Die alte Methode der Stringformatierung verwendet den %-Operator, um Werte in Platzhalter innerhalb eines Strings einzufügen. Hier ist ein Beispiel:
String formatting with % operator in Python
name = "John"
age = 25
print("My name is %s and I am %d years old." % (name, age))In diesem Beispiel sind %s und %d Platzhalter für die Variablen name und age. Die Werte dieser Variablen werden mithilfe des %-Operators in die Platzhalter eingefügt.
Die neue Methode der Stringformatierung
Die format()-Methode ist eine neuere Methode zur Stringformatierung, die Werte in Platzhalter innerhalb eines Strings einfügt. Hier ist ein Beispiel:
String formatting by format method in Python
name = "John"
age = 25
print("My name is {} and I am {} years old.".format(name, age))In diesem Beispiel sind {} Platzhalter für die Variablen name und age. Die Werte dieser Variablen werden mithilfe der format()-Methode in die Platzhalter eingefügt.
Zahlen formatieren
Python bietet verschiedene Möglichkeiten zur Formatierung von Zahlen. Hier sind einige Beispiele:
Formatting numbers in a string in Python
x = 123.456789
print("The number is {:.2f}".format(x))
print("The number is {:,}".format(x))
print("The number is {:+}".format(x))Im ersten Beispiel formatiert {:.2f} die Zahl auf zwei Dezimalstellen. Im zweiten Beispiel formatiert {: ,} die Zahl mit einem Komma als Tausendertrennzeichen. Im dritten Beispiel formatiert {:+} die Zahl mit einem Pluszeichen für positive Zahlen und einem Minuszeichen für negative Zahlen.
Strings formatieren
Python bietet verschiedene Möglichkeiten zur Formatierung von Strings. Hier sind einige Beispiele:
Formatting strings in various ways in Python
name = "John"
print("Hello, %s!" % name)
print("Hello, {}!".format(name))
print(f"Hello, {name}!")Im ersten Beispiel ist %s ein Platzhalter für die Variable name. Im zweiten Beispiel ist {} ein Platzhalter für die Variable name. Im dritten Beispiel ist {name} ein Platzhalter für die Variable name innerhalb eines f-Strings.
Datums- und Zeitformatierung
Python bietet verschiedene Möglichkeiten zur Formatierung von Datums- und Zeitangaben. Hier sind einige Beispiele:
Formatting date and time in Python
import datetime
date = datetime.datetime.now()
print("The date and time is {}".format(date))
print("The date and time is {: %B %d, %Y}".format(date))Im ersten Beispiel ist {} ein Platzhalter für die Variable date, die ein datetime-Objekt ist. Im zweiten Beispiel formatiert {: %B %d, %Y} das Datumsobjekt zu einem String im Format „Monat Tag, Jahr“.
Erweiterte Stringformatierung
Python bietet mehrere zusätzliche Techniken, um die Stringformatierung noch flexibler und leistungsfähiger zu machen.
Eine solche Technik ist die Verwendung von benannten Platzhaltern. Anstatt Positionsplatzhalter zu verwenden, können Sie benannte Platzhalter einsetzen, um Ihren Code lesbarer und verständlicher zu machen. Hier ist ein Beispiel:
Print a dictionary's values in the desired format in Python using named placeholders
person = {"name": "John", "age": 25}
print("My name is {name} and I am {age} years old.".format(**person))In diesem Beispiel sind {name} und {age} benannte Platzhalter, die den Schlüsseln "name" und "age" im person-Dictionary entsprechen. Der **-Operator wird verwendet, um das Dictionary zu entpacken und seine Werte als Schlüsselwortargumente an die format()-Methode zu übergeben.
Eine weitere nützliche Technik ist die Verwendung von Format-Spezifizierern, um die Breite, Genauigkeit und Ausrichtung von Platzhaltern zu steuern. Hier sind einige Beispiele:
format specifiers to control the width, precision, and alignment of placeholders in Python
x = 123.456789
print("{:<10.2f}".format(x))
print("{:,.2f}".format(x))Im ersten Beispiel formatiert {:<10.2f} die Zahl auf zwei Dezimalstellen und richtet sie linksbündig in einem Feld der Breite 10 aus. Im zweiten Beispiel formatiert {:,.2f} die Zahl mit einem Komma als Tausendertrennzeichen und zwei Dezimalstellen.
Zusätzlich zu diesen Techniken bietet Python mehrere integrierte Format-Zeichenketten, die zur Formatierung von Strings, Zahlen und Datums-/Zeitangaben verwendet werden können. Hier sind einige Beispiele:
Python built-in various formatting ways
x = 123
date = datetime.datetime.now()
print("The number is {:x}".format(x))
print("The number is {:o}".format(x))
print("The number is {:b}".format(x))
print("The number is {:e}".format(x))
print("The date and time is {}".format(date))In diesen Beispielen formatiert {:x} die Zahl als Hexadezimalstring, {:o} als Oktalstring, {:b} als Binärstring und {:e} in wissenschaftlicher Notation. Für Datums- und Zeitangaben verwendet format() die String-Darstellung des Objekts, es sei denn, Sie formatieren den Wert separat.
Fazit
In diesem Leitfaden haben wir die Grundlagen der Python-Stringformatierung behandelt, einschließlich der alten und neuen Methode zur Stringformatierung, der Formatierung von Zahlen, Strings, Datums- und Zeitangaben sowie erweiterter Stringformatierungstechniken. Durch die Anwendung dieser Techniken können Sie dynamische, flexible und leistungsfähige Strings in Ihrem Python-Code erstellen, die Ihnen helfen, komplexe Probleme zu lösen und Ihre Ziele zu erreichen.
Praxis
Welche der folgenden sind gültige Methoden zur Formatierung von Strings in Python, wie im Inhalt der angegebenen URL beschrieben?