Verschiedene Möglichkeiten der Zeichenfolgenformatierung in Python: Top 3 Methoden
Veröffentlicht: 2021-02-23Die Zeichenfolgenformatierung ist eine wesentliche Funktion in den Programmiersprachen, um benutzerdefinierte Werte und Positionen in die Zeichenfolgen zu formatieren oder einzufügen. Die C-Sprache hatte eine Möglichkeit, dies zu tun, mit der Sie vielleicht vertraut sind, wenn Sie Erfahrung mit der C-Sprache haben. Python unterstützt jedoch nicht 1, nicht 2, sondern 3 verschiedene Möglichkeiten, Zeichenfolgen zu formatieren. Jeder Weg hat seine Vor- und Nachteile, die wir in diesem Tutorial sehen werden. Wir werden auch sehen, welche der 3 Methoden die am häufigsten verwendete und effizienteste ist.
Lernen Sie Online-Data-Science-Kurse von den besten Universitäten der Welt. Verdienen Sie Executive PG-Programme, Advanced Certificate-Programme oder Master-Programme, um Ihre Karriere zu beschleunigen.
Am Ende dieses Tutorials werden Sie Folgendes wissen:
- Verschiedene Arten der Zeichenfolgenformatierung
- Ihre Verwendung mit Beispielen
- Welcher Weg ist der bevorzugte
Inhaltsverzeichnis
Verschiedene Möglichkeiten der Zeichenfolgenformatierung
Python hat mehrere Updates erhalten, um die Zeichenfolgenformatierung zu verbessern. Lassen Sie uns jeden von ihnen einzeln durchgehen.
Methode 1: Zeichenfolgenformatierung im C-Stil
Python enthält die alte Art der Zeichenfolgenformatierung durch die Verwendung von Sonderzeichen für jeden Datentyp. Diese gute alte String-Formatierungsmethode wurde aus der C-Sprache übernommen und ist immer noch sehr effektiv. Zur Formatierung der Zeichenfolgen wird ein String-Formatbezeichner „%“ gefolgt von einem dedizierten Zeichen für jeden Datentyp verwendet.
Gehen wir ein kleines Beispiel durch, um dies zu verstehen:
Zahl = 8 name = "pinkmann" print("Name ist %s und Nummer ist %d" %( name, num)) |
#Ausgabe >> „Name ist Pinkman und Nummer ist 8“ |
Wie Sie sehen, wurde der Formatbezeichner %s verwendet, um den Zeichenfolgennamen zu formatieren, und %d wurde verwendet, um die ganze Zahl zu formatieren. In ähnlicher Weise gibt es auch einen Formatbezeichner für einen Float. Lassen Sie uns das auch überprüfen.
Zahl = 4,32 lis = [ 1 , 3 , 5 ] print( „Liste ist %s und Float ist %f“ %(lis, num)) |
#Ausgabe >> list ist [ 1 , 3 , 5 ] und Float ist 4.320000 |
Im obigen Beispiel verwende ich den %f-Formatbezeichner, um den Gleitkommawert zu formatieren. Hier sind zwei Dinge zu beachten. Erstens wird der Float-Wert als 4,320000 und nicht nur als 4,32 gedruckt. Warum so? Dies liegt daran, dass Python standardmäßig eine Genauigkeit von 6 Dezimalstellen für Floats verwendet. Zweitens habe ich eine Liste mit dem Zeichenfolgenformatbezeichner gedruckt. Das bedeutet nicht, dass der Formatbezeichner %s jeden Datentyp aufnehmen kann. Es wandelt es einfach in einen String um und gibt ihn aus. Die ausgegebene Liste ist also im Wesentlichen eine Zeichenfolge und keine Liste.
In Ordnung, wie kann man also angeben, wie viele Dezimalstellen genau erforderlich sind?
print("Liste ist %s und Float mit 2-Punkt-Genauigkeit ist %.2f" %(lis, num)) |
#Ausgabe >> list ist [ 1 , 3 , 5 ] und Float ist 4,32 |
Ein weiterer zu beachtender Punkt ist, dass wir die Variablen in der Reihenfolge angeben müssen, in der sie im String verwendet werden. Wenn die Reihenfolge geändert wird, wird der Ausgang entsprechend eingestellt. Eine Alternative, damit wir die Variablen nicht jedes Mal in der richtigen Reihenfolge angeben müssen, besteht darin, die Zeichenfolgenformatierung auf eine etwas andere Weise zu verwenden.
print("Liste ist %(a)s und Float ist %(b)f" %{"b": num, "a": lis}) |
#Ausgabe >> list ist [ 1 , 3 , 5 ] und Float ist 4.320000 |
Und wie Sie sehen, ist das sehr umständlich zu schreiben.
Um es kurz zusammenzufassen, die 3 am häufigsten verwendeten Formatbezeichner sind:
- %s für Zeichenfolgen
- %d für ganze Zahlen
- %.<Dezimalgenauigkeit>f für Floats
Methode 2: Zeichenfolgenformatierung im neuen Stil
Python 3 führte eine bessere Methode zur Formatierung von Zeichenfolgen ein, indem eine format()-Methode für Zeichenfolgen verwendet wurde. Ein Platzhalter wird verwendet, indem geschweifte Klammern gesetzt werden, und die Formatmethode enthält die Variablen, die an diesen Positionen in der Zeichenfolge eingefügt werden müssen. Schauen wir uns ein kleines Beispiel an, um dies zu verstehen.
name = „Skyler“ print(“Hallo, mein Name ist {}”.format(name)) |
#Ausgabe >> Hallo, mein Name ist skyler |
Das ist viel besser als die alte Formatierung, die wir oben gesehen haben. Die geschweiften Klammern dienen als Platzhalter für den Variablennamen, der einen String enthält. Beachten Sie, dass wir mit der format-Methode den Datentyp der Variablen nicht angeben müssen, wie wir es bei der Formatierung im alten Stil getan haben.
Ein Beispiel auch mit Zahlen:
Zahl = 3 int = 4,34 name = "jessy" print( „Hallo, mein Name ist {}, Zahl ist {} und Gleitkommazahl ist {}“ .format(name, num, int)) |
#Ausgabe >> Hallo, mein Name ist Jessy, Zahl ist 3 und Float ist 4,34 |
Sauber! Wie Sie sehen, müssen die Variablen in der Reihenfolge, in der sie im String verwendet wurden, an die Methode format übergeben werden. Eine andere Möglichkeit, die Formatmethode zu verwenden, indem wir nicht alle Variablen in der richtigen Reihenfolge übergeben müssen:
print(“Hallo, mein Name ist {name}, Zahl ist {num} und Gleitkommazahl ist {int}“.format(int=int, num=num , name=name)) |
#Ausgabe >> Hallo, mein Name ist Jessy, Zahl ist 3 und Float ist 4,34 |
Im obigen Beispiel sehen wir, dass, wenn die Variablen explizit in den Platzhaltern erwähnt werden, sie nicht mehr in der richtigen Reihenfolge an die Methode format übergeben werden müssen.
Wir können auch die Position der Variablen in den Platzhaltern übergeben, um sie besser zu verfolgen.
print(“Hallo, mein Name ist {0}, Zahl ist {1} und Gleitkommazahl ist {2}”.format(name, num, int)) |
#Ausgabe >> Hallo, mein Name ist Jessy, Zahl ist 3 und Float ist 4,34 |
Methode 3: Verwenden von F-Strings
F-Strings wurden in Python 3.6 eingeführt und sind die einfachste und effizienteste Methode zur Formatierung von Zeichenfolgen. Diese werden auch als formatierte Zeichenfolgenliterale bezeichnet. Sie verwenden das Literal f am Anfang des Strings, um Python anzuweisen, es als formatierten String zu behandeln. Die Platzhalter enthalten die tatsächlichen Variablen, die an dieser Position platziert werden müssen.
Schauen wir uns ein Beispiel an.
name = „heisenberg“ bill = 100.43print(f”Der Name ist {name} und die Rechnung ist {bill}”) |
#Ausgabe >> Der Name ist heisenberg und die Rechnung ist 100,43 |
Das war ganz einfach. Außerdem können wir Ausdrücke auch direkt anstelle von Variablen setzen.
a = 5 b = 8 print( f”Die Summe ist {a+b} “ ) |
#Ausgabe >> Die Summe ist 13 |
Wir können die Funktionen auch direkt aufrufen und ihre Ausgabe in den String-Literalen erhalten.
print( f”Der Name ist {name.upper()} “ ) |
#Ausgabe >> Der Name ist HEISENBERG |
Darüber hinaus können wir die f-Strings verwenden, um den Wert auch direkt von Funktionen zurückzugeben.
def Combiner(Name, Alter, Geld): return f“{name} ist volljährig {age} und hat Gehalt {money}“ |
Saul Goodman ist 45 Jahre alt und hat ein Gehalt von 2000000 |
Wie wir sehen, werden, wenn wir die Funktionen direkt an die Platzhalter übergeben, die Funktionen aufgerufen und die Ausgaben direkt in die geschweiften Klammern gesetzt. Diese Methode der Zeichenfolgenformatierung ist eindeutig die effizienteste und am einfachsten zu schreiben.
Kasse: Fragen und Antworten zu Python-Interviews
Bevor du gehst
Die Formatierung von Zeichenfolgen ist eine regelmäßige Aufgabe, und die Art und Weise, wie Python die Methode format und f-Strings eingeführt hat, macht es sehr einfach für Leute, die mit Python arbeiten. Die F-Strings sind die am häufigsten verwendete und bevorzugte Art, mit der String-Formatierung zu arbeiten, da sie sehr einfach zu schreiben und zu warten sind. Außerdem macht es den Code auch pythonischer! Unter der Haube verwenden die F-Strings das __format__-Protokoll. Das f-Literal ist nur syntaktischer Zucker, den Python seinen Benutzern anbietet, um uns das Schreiben von String-Formatierungen zu erleichtern.
Wenn Sie neugierig sind, etwas über Data Science zu lernen, schauen Sie sich das Executive PG Program in Data Science von IIIT-B & upGrad an, das für Berufstätige entwickelt wurde und mehr als 10 Fallstudien und Projekte, praktische Workshops, Mentoring mit Branchenexperten, 1 -on-1 mit Branchenmentoren, mehr als 400 Stunden Lern- und Jobunterstützung bei Top-Unternehmen.
1. Die in Python eingebaute Methode string format() wandelt eine bereitgestellte Zeichenfolge in eine nützlichere Ausgabe um. Die Funktion format() in Python3 ist eine der Methoden zur Formatierung von Zeichenfolgen, die mehrere Ersetzungen sowie die Formatierung von Werten ermöglicht. Die Methode format() verwendet Positionsformatierung, um Elemente innerhalb einer Zeichenfolge zu verketten. Fügen Sie Ihrer print-Methode in Python 3 ein zusätzliches Argument hinzu, um dem Computer mitzuteilen, dass die nächste Zeichenfolge nicht in einer neuen Zeile stehen soll. Betrachten Sie das folgende Szenario. 1. Sie sind String-Objekte, wenn wir einen Float-Wert durch Benutzereingabe über das Terminal erhalten und ihn aus einer Datei lesen. Daher müssen wir sie explizit in Float umwandeln, um notwendige Operationen wie Addition, Multiplikation usw. durchzuführen.Welche Formatierungsmethoden in Python 3 ermöglichen mehrere Ersetzungen und Wertformatierungen?
2. Der String kann mit mehreren geschweiften Klammerpaaren formatiert werden. Wenn in einer langen Zeichenfolge eine weitere Variablenersetzung erforderlich ist, kann der zweite Satz geschweifter Klammern hinzugefügt und der zweite Wert an die Prozedur übergeben werden.
3. Die Funktion format() in Python akzeptiert eine beliebige Anzahl von Parametern. Es wird jedoch hauptsächlich in die folgenden zwei Arten von Parametern unterteilt.
A. Positionsparameter sind eine Liste von Parametern, die abgerufen werden können, indem der Index des Parameters in geschweifte Klammern gesetzt wird (Index).
B. Schlüsselwortparameter – Dies ist eine Liste von Schlüssel=Wert-Parametern, auf die mit dem Schlüssel des Parameters in geschweiften Klammern zugegriffen werden kann.
4. Die Methode format() gibt einen formatierten String zurück. Die Funktion format() liest den Typ der ihr zugeführten Argumente und formatiert sie gemäß den Formatcodes im String. Wie druckt man ohne Zeilenumbruch in Python 3?
print('Willkommen!', Ende = ')
In diesem Fall erscheint jede weitere Druckfunktion in derselben Zeile. Können wir String in Python in Float umwandeln?
2. Die Methode float() in Python kann verwendet werden, um einen String in einen Float umzuwandeln. Es ist eine eingebaute Funktion zum Konvertieren einer Fließkommazahl in ein Objekt. Intern ruft die Funktion float() die Funktion __float__() des bereitgestellten Objekts auf.