Kurs
Python String format() Tutorial
Die String-Formatierung wird auch als String-Interpolation bezeichnet. Dabei wird eine benutzerdefinierte Zeichenfolge oder Variable in einen vordefinierten Text eingefügt.
custom_string = "String formatting"
print(f"{custom_string} is a powerful technique")
String formatting is a powerful technique
Als Datenwissenschaftler würdest du sie verwenden, um einen Titel in ein Diagramm einzufügen, eine Nachricht oder einen Fehler anzuzeigen oder eine Anweisung an eine Funktion zu übergeben.
Methoden zur Formatierung
- Positionelle Formatierung
- Formatierte String-Literale
- Vorlage Methode
String.Format Methode
Wir setzen Platzhalter, die durch ein Paar geschweifte Klammern definiert sind, in einen Text ein. Wir rufen die Methode String-Dot-Format auf. Dann übergeben wir den gewünschten Wert an die Methode. Die Methode ersetzt die Platzhalter mit den Werten in der Reihenfolge des Erscheinens replace by value:
'text{}'.format(value)
Positionelle Formatierung
Wir definieren einen String und fügen zwei Platzhalter ein. Wir übergeben der Methode zwei Zeichenketten, die wir weitergeben, um die folgende Ausgabe zu erhalten:
print("Machine learning provides {} the ability to learn {}".format("systems", "automatically"))
Machine learning provides systems the ability to learn automatically
Wir können Variablen sowohl für die Zeichenkette als auch für die an die Methode übergebenen Werte verwenden. Im folgenden Beispielcode definieren wir einen String mit Platzhaltern und zwei weiteren Variablen. Wir wenden die Formatierungsmethode auf den String an, indem wir die beiden definierten Variablen verwenden. Die Methode liest den String und ersetzt die Platzhalter durch die angegebenen Werte.
my_string = "{} rely on {} datasets"
method = "Supervised algorithms"
condition = "labeled"
print(my_string.format(method, condition))
Supervised algorithms rely on labeled datasets
Werte neu ordnen
Im folgenden Beispiel fügst du Indexnummern in die Platzhalter ein, um die Werte neu zu ordnen. Dies beeinflusst die Reihenfolge, in der die Methode die Platzhalter ersetzt.
Die Methode ersetzt sie durch die Werte in der angegebenen Reihenfolge.
print("{} has a friend called {} and a sister called {}". format("Betty", "Linda", "Daisy"))
Betty has a friend called Linda and a sister called Daisy
Wenn wir die Indexnummern hinzufügen, ändert sich die Ersetzungsreihenfolge entsprechend.
print("{2} has a friend called {0} and a sister called {1}". format("Betty", "Linda", "Daisy"))
Daisy has a friend called Betty and a sister called Linda
Name Platzhalter
Wir können auch Schlüsselwortargumente einführen, die durch ihren Schlüsselwortnamen aufgerufen werden.
In dem Beispielcode unten haben wir Schlüsselwörter in die Platzhalter eingefügt. Dann rufen wir diese Schlüsselwörter in der Formatmethode auf. Dann legen wir fest, welche Variable für jede von ihnen übergeben wird, was die folgende Ausgabe ergibt.
tool="Unsupervised algorithms"
goal="patterns"
print("{title} try to find {aim} in the dataset".format(title=tool, aim=goal))
Unsupervised algorithms try to find patterns in the dataset
Schauen wir uns diesen Code unten an. Wir haben ein Wörterbuch mit den Schlüsseln "Werkzeug" und "Ziel" definiert.
my_methods = {"tool": "Unsupervised algorithms", "goal": "patterns"}
Wir wollen ihre Werte in einen String einfügen. Innerhalb der Platzhalter können wir den Wert, der mit dem Schlüsselwerkzeug der variablen Daten verbunden ist, in Klammerschreibweise angeben. Daten ist das in der Methode angegebene Wörterbuch, und Werkzeug ist der Schlüssel in diesem Wörterbuch.
print('{data[tool]} try to find {data[goal]} in the dataset'.format(data=my_methods))
So erhalten wir die gewünschte Ausgabe wie unten gezeigt. Sei vorsichtig! Du musst den Index ohne Anführungszeichen angeben.
Unsupervised algorithms try to find patterns in the dataset
Formatangabe
Wir können das Format auch innerhalb geschweifter Klammern angeben. Hier wird festgelegt, wie die einzelnen Werte dargestellt werden. Hier verwenden wir die Syntax index colon specifier. Einer der gebräuchlichsten Formatspezifikationen ist float, dargestellt durch f
. Im Code legen wir fest, dass der Wert, der mit dem Index 0 übergeben wird, ein Float ist.
print("Only {0:f}% of the {1} produced worldwide is {2}!". format(0.5155675, "data", "analyzed"))
Only 0.515567% of the data produced worldwide is analyzed!
Wir könnten auch .2f
hinzufügen, um anzugeben, dass der Float zwei Nachkommastellen haben soll, wie in der Ausgabe zu sehen ist.
print("Only {0:.2f}% of the {1} produced worldwide is {2}!".format(0.5155675, "data", "analyzed"))
Only 0.52% of the data produced worldwide is analyzed!
Formatieren datetime
Python hat ein Modul namens datetime, mit dem wir zum Beispiel die Uhrzeit und das Datum von heute abfragen können.
from datetime import datetime
print(datetime.now())
2020-08-08 06:28:42.715243
Da das zurückgegebene Format aber sehr speziell ist, könntest du den Format-Spezifizierer wie %y-%m-%d-%h-%m
verwenden, um das Format an etwas anzupassen, das uns vertrauter ist!
print("Today's date is {:%Y-%m-%d %H:%M}".format(datetime.now()))
Today's date is 2020-08-08 06:29
Interaktives Beispiel
Im folgenden Beispiel ordnest du die Teilstrings vom 4. bis zum 19. Zeichen und vom 22. bis zum 44. Zeichen von wikipedia_article
den Variablen first_pos
bzw. second_pos
zu. Passe die Zeichenfolgen so an, dass sie klein geschrieben sind. Zum Schluss druckst du die Variablen first_pos
und second_pos
aus.
# Assign the substrings to the variables
first_pos = wikipedia_article[3:19].lower()
second_pos = wikipedia_article[21:44].lower()
Wenn wir den obigen Code ausführen, erhalten wir das folgende Ergebnis:
computer science
artificial intelligence
Um mehr über die Positionsformatierung zu erfahren, schau dir dieses Video aus unserem Kurs Reguläre Ausdrücke in Python an.
Dieser Inhalt stammt aus dem DataCamp-Kurs " Reguläre Ausdrücke in Python " von Maria Eugenia Inzaugarat.
Schau dir unser Python String Tutorial an.
Python-Kurse
Kurs
Einführung in die Datenwissenschaft in Python
Kurs