logo

Python-Stringformatierung – Wie formatiere ich String?

Mit der Zeichenfolgenformatierung können Sie dynamische Zeichenfolgen erstellen, indem Sie Variablen und Werte kombinieren. In diesem Artikel besprechen wir fünf Möglichkeiten zum Formatieren einer Zeichenfolge.

Sie lernen verschiedene Methoden der String-Formatierung anhand von Beispielen zum besseren Verständnis kennen. Schauen wir sie uns jetzt an!



So formatieren Sie Zeichenfolgen in Python

Es gibt fünf verschiedene Möglichkeiten, eine Zeichenfolgenformatierung durchzuführen Python

  • Formatierung mit %-Operator.
  • Formatierung mit der String-Methode format().
  • Formatierung mit String-Literalen, sogenannten F-Strings.
  • Formatierung mit String-Vorlagenklasse
  • Formatierung mit der String-Methode center().

Wir werden also die Gesamtheit der oben genannten Möglichkeiten sehen und uns auch darauf konzentrieren, welche Strategie zur Zeichenfolgenformatierung die beste ist.

1. So formatieren Sie eine Zeichenfolge mit dem %-Operator

Es ist die älteste Methode zur String-Formatierung. Hier verwenden wir das Modulo % Operator . Das Modulo % wird auch als String-Formatierungsoperator bezeichnet.



Python-Formatzeichenfolge mit dem %-Operator

Im Ausdruck „Der räudige, dürre Streunerhund %s verschlang % ‚eilig‘“ wird der Platzhalter %s innerhalb der Zeichenfolge durch den Wert „eilig“ ersetzt.

Python3

Madhuri sagte, komm schon






print>(>'The mangy, scrawny stray dog %s gobbled down'> %>'hurriedly'> +> >'the grain-free, organic dog food.'>)>

>

>

Ausgabe

The mangy, scrawny stray dog hurriedly gobbled downthe grain-free, organic dog food.>

Einfügen mehrerer Strings mit dem Modulo-Operator

Hier fügen wir mehrere Zeichenfolgen mit dem %-Operator ein.

Python3




x>=> 'looked'> print>(>'Misha %s and %s around'>%>(>'walked'>,x))>

>

>

Ausgabe

Misha walked and looked around>

Präzisionshandhabung in Python mit %-Operator

Gleitkommazahlen verwenden das Format %a.bf . Hier, A wäre die Mindestanzahl von Ziffern, die in der Zeichenfolge vorhanden sein müssen; diese können mit Leerzeichen aufgefüllt werden, wenn die ganze Zahl nicht so viele Ziffern hat.

In der Nähe davon, bf gibt an, wie viele Nachkommastellen angezeigt werden sollen.

In diesem Code enthält die Zeichenfolge „Der Wert von pi ist: %5.4f“ einen Formatbezeichner %5.4f. Der Formatbezeichner %5.4f wird zum Formatieren einer Gleitkommazahl mit einer Mindestbreite von 5 und einer Genauigkeit von 4 Dezimalstellen verwendet.

Python3




print>(>'The value of pi is: %5.4f'> %>(>3.141592>))>

>

>

Ausgabe

The value of pi is: 3.1416>

Mehrere Formatkonvertierungstypen

Im angegebenen Code wird die Formatierungszeichenfolge Python mit %d,%f in Ganzzahl und Gleitkomma konvertiert.

Python3




Sharwanand

variable>=> 12> string>=> 'Variable as integer>=> %>d > Variable as>float> => %>f'>%>(variable, variable)> print> (string)>

>

>

Ausgabe

Variable as integer = 12 Variable as float = 12.000000>

Notiz: Weitere Informationen zur %-Formatierung finden Sie unter String-Formatierung in Python mit %

2. So formatieren Sie eine Zeichenfolge mit der Methode format()

Format()-Methode wurde mit Python3 eingeführt, um komplexe String-Formatierungen effizienter zu handhaben.

Formatierer funktionieren, indem sie ein oder mehrere Ersetzungsfelder und Platzhalter, die durch ein Paar geschweifte Klammern { } definiert sind, in eine Zeichenfolge einfügen und aufrufen str.format() . Der Wert, den wir in die Platzhalter einfügen und mit der Zeichenfolge verketten möchten, die als Parameter an die Formatfunktion übergeben wurde.

Syntax: ‘String hier {} dann auch {}’.format(‘something1′,’something2’)

Formatieren von String-Python mit der Methode format()

Dieser Code verwendet {} als Platzhalter und dann haben wir die Methode.format() für „gleich“ mit dem Platzhalter aufgerufen.

Python3




print>(>'We all are {}.'>.>format>(>'equal'>))>

>

>

Ausgabe

We all are equal.>

Indexbasiertes Einfügen

In diesem Code werden geschweifte Klammern {} mit Indizes innerhalb der Zeichenfolge „{2} {1} {0}“ verwendet, um die Positionen anzugeben, an denen die entsprechenden Werte platziert werden.

Python3




print>(>'{2} {1} {0}'>.>format>(>'directions'>,> >'the'>,>'Read'>))>

>

>

Ausgabe

Read the directions>

Objekt durch Zuweisen von Schlüsselwörtern einfügen

In diesem Code werden geschweifte Klammern {} mit benannten Platzhaltern ({a}, {b}, {c}) innerhalb der Zeichenfolge „a: {a}, b: {b}, c: {c}“ verwendet, um anzuzeigen die Positionen, an denen die entsprechenden benannten Argumente platziert werden.

Python3




print>(>'a: {a}, b: {b}, c: {c}'>.>format>(a>=> 1>,> >b>=> 'Two'>,> >c>=> 12.3>))>

>

>

Ausgabe

a: 1, b: Two, c: 12.3>

Die eingefügten Objekte wiederverwenden

In diesem Code werden geschweifte Klammern {} mit benannten Platzhaltern ({p}) innerhalb der Zeichenfolge „Das erste {p} war in Ordnung, aber das {p} {p} war schwierig“ verwendet, um die Positionen anzugeben, an denen sich die entsprechenden Namen befanden Argument p wird platziert.

Python3




print>(> >'The first {p} was alright, but the {p} {p} was tough.'>.>format>(p>=>'second'>))>

>

>

Ausgabe

The first second was alright, but the second second was tough.>

Float-Präzision mit der.format()-Methode

Syntax: {[index]:[width][.precision][type]}

Der Typ kann mit Formatcodes verwendet werden:

  • 'D' für ganze Zahlen
  • 'F' für Gleitkommazahlen
  • 'B' für Binärzahlen
  • 'Ö' für Oktalzahlen
  • 'X' für oktale Hexadezimalzahlen
  • 'S' für Saite
  • 'Es ist' für Gleitkommazahlen im Exponentenformat

Beispiel:

Beide Codes führen eine Zeichenfolgenformatierung durch. Der erste String ist mit „%“ formatiert und der zweite String ist mit .format() formatiert.

Python3




print>(>'The valueof pi is: %1.5f'> %>3.141592>)> print>(>'The valueof pi is: {0:1.5f}'>.>format>(>3.141592>))>

Zeichenfolge JSON Java
>

>

Ausgabe

The valueof pi is: 3.14159 The valueof pi is: 3.14159>

Notiz: Weitere Informationen zu str.format() finden Sie unter format()-Funktion in Python

3. Python-F-String verstehen

PEP 498 führte einen neuen String-Formatierungsmechanismus ein, der als Literal String Interpolation oder häufiger als bekannt ist F-Saiten (wegen des führenden f-Zeichens vor dem String-Literal). Die Idee hinter f-String in Python besteht darin, die String-Interpolation zu vereinfachen.

Um einen F-String in Python zu erstellen, stellen Sie dem String den Buchstaben f voran. Die Zeichenfolge selbst kann auf die gleiche Weise wie mit formatiert werden str. Format() . F-Strings bieten eine übersichtliche und praktische Möglichkeit, Python-Ausdrücke zur Formatierung in String-Literale einzubetten.

String-Formatierung mit F-Strings

In diesem Code der f-String fMein Name ist {name}. wird verwendet, um den Wert der Namensvariablen in die Zeichenfolge zu interpolieren.

Python3




name>=> 'Ele'> print>(f>'My name is {name}.'>)>

>

>

Rekha-Alter
Ausgabe

My name is Ele.>

Diese neue Formatierungssyntax ist sehr leistungsstark und einfach. Sie können auch beliebige Python-Ausdrücke einfügen und darin sogar arithmetische Operationen ausführen.

Arithmetische Operationen mit F-Strings

In diesem Code der f-String f Er sagte, sein Alter sei {2 * (a + b)}. wird verwendet, um das Ergebnis des Ausdrucks 2 * (a + b) in die Zeichenfolge zu interpolieren.

Python3




a>=> 5> b>=> 10> print>(f>'He said his age is {2 * (a + b)}.'>)>

>

>

Ausgabe

He said his age is 30.>

Wir können auch verwenden Lambda Ausdrücke in F-Saite Formatierung.

Lambda-Ausdrücke mit F-Strings

In diesem Code wird eine anonyme Lambda-Funktion mit lambda x: x*2 definiert. Diese Lambda-Funktion nimmt ein Argument x und gibt sein Double zurück.

Python3




print>(f>'He said his age is {(lambda x: x*2)(3)}'>)>

>

>

Ausgabe

He said his age is 6>

Float-Präzision in der f-String-Methode

In diesem Code wird die F-String-Formatierung verwendet, um den Wert der Num-Variablen in den String zu interpolieren.

  Syntax  : {value:{width}.{precision}}>

Python3




num>=> 3.14159> print>(f>'The valueof pi is: {num:{1}.{5}}'>)>

Sharwanand

>

>

Ausgabe

The valueof pi is: 3.1416>

Notiz: Weitere Informationen zu F-Strings finden Sie unter F-Strings in Python

4. Python-String-Vorlagenklasse

Im String-Modul können wir mit der Template-Klasse eine vereinfachte Syntax für die Ausgabespezifikation erstellen. Das Format verwendet Platzhalternamen, die durch $ mit gültigem Python gebildet werden Bezeichner (alphanumerische Zeichen und Unterstriche). Wenn Sie den Platzhalter mit geschweiften Klammern umgeben, können ihm weitere alphanumerische Buchstaben ohne dazwischenliegende Leerzeichen folgen. Durch das Schreiben von $$ wird ein einzelnes maskiertes $ erstellt:

Formatieren von String-Python mithilfe der Vorlagenklasse

Dieser Code importiert die Template-Klasse aus dem String-Modul. Mit der Template-Klasse können wir eine Vorlagenzeichenfolge mit Platzhaltern erstellen, die durch tatsächliche Werte ersetzt werden können. Hier ersetzen wir die Werte n1 und n2 anstelle von n3 und n4 in der Zeichenfolge n.

Python3




from> string>import> Template> n1>=> 'Hello'> n2>=> 'techcodeview.com'> n>=> Template(>'$n3 ! This is $n4.'>)> # and pass the parameters into the> # template string.> print>(n.substitute(n3>=>n1, n4>=>n2))>

>

>

Ausgabe

Hello ! This is techcodeview.com.>

Notiz: Weitere Informationen zur String Template-Klasse finden Sie unter String-Vorlagenklasse in Python

5. So formatieren Sie einen String mit der Methode center()

Die Methode center() ist eine integrierte Methode in der str-Klasse von Python, die einen neuen String zurückgibt, der innerhalb eines Strings mit einer angegebenen Breite zentriert ist.

Formatieren einer Zeichenfolge mit der Methode center()

Dieser Code gibt ein neues zurück Zeichenfolge auf der linken und rechten Seite mit Leerzeichen gepolstert.

Python3




string>=> 'GeeksForGeeks!'> width>=> 30> centered_string>=> string.center(width)> print>(centered_string)>

>

>

Ausgabe

 GeeksForGeeks!>

Python-Formatzeichenfolge: % vs. .format vs. f-String-Literal

F-Saiten sind schneller und besser als beide %-Formatierung Und str.format() . F-Strings-Ausdrücke werden zur Laufzeit ausgewertet, und wir können Ausdrücke auch in F-Strings einbetten, indem wir eine sehr einfache und unkomplizierte Syntax verwenden.

Die Ausdrücke in den geschweiften Klammern werden zur Laufzeit ausgewertet und dann mit dem String-Teil des F-Strings zusammengesetzt und dann der endgültige String zurückgegeben.

Notiz: Verwenden Sie Template String, wenn es sich bei der Zeichenfolge um eine vom Benutzer bereitgestellte Zeichenfolge handelt. Andernfalls verwenden Sie f-Strings, wenn Sie Python 3.6+ verwenden. format()-Methode verwenden, falls dies nicht der Fall ist.

Wir haben alle fünf Möglichkeiten der String-Formatierung in Python behandelt. Für jede Methode gibt es viele Anwendungsfälle und Beispiele. Wir haben diese Methoden auch verglichen, um herauszufinden, welche in realen Projekten am effizientesten ist.

Ähnliche Lektüre:

  • String-Formatierung in Python
  • So verwenden Sie String-Formatierer in Python
  • So formatieren Sie eine Zeichenfolge mithilfe eines Wörterbuchs in Python