Wie funktioniert die Python String format() Methode? 10 Beispiele

Ob es sich um eine Datenbankabfrage oder Ergebnisse mathematischer Operationen handelt, die Python-String-Format-Methode bietet eine dynamischere und ansprechendere Möglichkeit, einem Benutzer Ergebnisse zu präsentieren.

Sehen wir uns an, wie die Funktion str.format() in Python funktioniert. Außerdem erfahren Sie, wie Sie dieses Format in Ihren eigenen Programmen verwenden können.

Wie funktioniert das Python-String-Format()?

Mit der Python-Funktion str.format() können Sie Ihre Ergebnisse an einer beliebigen Stelle in einem String einfügen.

Es funktioniert, indem es Platz für Ihre Ergebnisse innerhalb der Zeichenfolge mit geschweiften Klammern zuweist. Es schreibt dann Ihre Ausgabe mit der Methode format() an diese Position.

Die Zeichenfolgen außerhalb der geschweiften Klammer sind sogenannte wörtliche Texte.

So verwenden Sie die Python String format() Methode

Die Funktion str.format() akzeptiert einen Wert und einen optionalen String-Formatbezeichner.

So sieht die allgemeine Syntax aus:

 str.format(value, format_spec)

Werfen wir nun einen Blick auf weitere praktische Beispiele für die Verwendung dieser Python-String-Methode.

1. Einen Wert an einer bestimmten Position einfügen

Hier ist ein einfaches Beispiel dafür, wie Sie mit der Methode str.format() einen Wert in einen String einfügen :

 Cost = 45
formattedMethod = "This good costs {} dollars only"
print(formattedMethod.format(Cost))
Output: This good costs 45 dollars only

Der obige Code ist der gleiche wie:

 formattedMethod = "This good costs {} dollars only"
print(formattedMethod.format(45))
Output: This good costs 45 dollars only

2. Mehrere Ausgaben in einen String einfügen

Sie können auch mehrere Ergebnisse in eine Zeichenfolge einfügen. Hier ist wie:

 y = 7*8
f = 5+5
g = 0
a = "The value of y is {}, while f is {}. Nobody can see {}".format(y, f, g)
print(a)
Output: The value of y is 56, while f is 10. Nobody can see 0

3. Verwenden Sie Escape-Klammern, um Ausgaben in dedizierte Klammern zu platzieren

Wenn Sie eines der Ergebnisse in eine geschweifte Klammer setzen müssen, ist das ganz einfach. Sie müssen nur zwei zusätzliche Fluchtklammern einführen.

Angenommen, Sie möchten y in einer speziellen geschweiften Klammer:

 a = "The value of y is {{{}}}, while f is {}. Nobody can see {}".format(y, f, g)
print(a)
Output: The value of y is {56}, while f is 10. Nobody can see 0

4. Ausgabewerte aus einer Liste

Sie können bestimmte Werte aus einer Liste auswählen und in einen String einfügen:

 myList = [10, 2, 4, 6]
print(("The first is {} and the third is {}").format(myList[0], myList[2]))
Output: The first is 10 and the third is 4

Um Wiederholungen innerhalb der .format()- Klammer zu vermeiden, können Sie stattdessen den Formatbezeichner so einstellen, dass er auf eine einzelne Variable zeigt.

So geht's:

 myList = [10, 2, 4, 6]
print(("The first is {yourList[0]} and the third is {yourList[2]}").format(yourList = myList))
Output: The first is 10 and the third is 4

Das obige Beispiel gilt auch für andere Beispiele, die wir zuvor behandelt haben. Mit diesem Trick können Sie also mit ihnen herumspielen.

5. Werte aus einem Wörterbuch einfügen

Ähnlich wie im vorherigen Abschnitt können Sie die Methode str.format() verwenden, um einen Wörterbuchwert in eine Zeichenfolge einzufügen:

 myDiction = {"Ten":10, "Two":2, "Four":4, "Six":6}
print(("The first is {} and the third is {}").format(myDiction["Ten"], myDiction["Four"]))
Output: The first is 10 and the third is 4

Verwandte: So konvertieren Sie eine Liste in ein Wörterbuch in Python

Und wenn Sie den Trick aus dem vorherigen Abschnitt anwenden möchten:

 myDiction = {"Ten":10, "Two":2, "Four":4, "Six":6}
print(("The first is {Ten} and the third is {Four}").format(**myDiction))
Output: The first is 10 and the third is 4

Sie können den obigen Code auch schreiben als:

 print(("The first is {d[Ten]} and the third is {d[Four]}").format(d=myDiction))
Output: The first is 10 and the third is 4

6. Die Ausgabe einer Funktion in einen String einfügen

Wenn Sie die Ausgabe einer Funktion in einem String anzeigen möchten:

 def difNums(a, b):
if a > b:
return a - b
else:
return return "You can't substract {} from {} using this function".format(a, b)
print(("Hey there: {}").format(difNums(2, 6)))
Output: Hey there: You can't substract 2 from 6 using this function

Verwenden von Python-String-Formatbezeichnern

Mit dem Formatbezeichner können Sie auswählen, wie Ihr Format durchkommt. Wie bereits erwähnt, handelt es sich um einen optionalen Parameter, der mit str.format() geliefert wird .

Mit dieser Option können Sie Ihre Ausgabe ausrichten, lange Zeichenfolgen kürzen, Ausgaben gruppieren oder eine ganze Zahl auf eine bestimmte Anzahl signifikanter Ziffern runden und vieles mehr.

Sie werden die Formatbezeichner oft in die geschweiften Klammern schreiben. Sie können sie aber auch explizit in der Klammer .format() angeben .

Sehen wir uns einige seiner Anwendungsfälle an.

7. String-Ausgabe ausrichten

Sie können das größere Zeichen ( > ) verwenden, um eine Zeichenfolgenausgabe rechts auszurichten:

 print("Hello {:>15}".format(12734589))
Output: Hello 12734589

Sie können Ihren Text auch zentriert ausrichten, wenn Sie möchten:

 print("Hello {:^15}".format(12734589))
Output: Hello 12734589

Lassen Sie uns die obige Ausgabe weiter formatieren. Sie können beispielsweise Unterstriche einfügen, um die Auffüllung auf beiden Seiten Ihrer Zeichenfolgenausgabe anzuzeigen:

 print("Hello {:_^15}".format(12734589))
Output: Hello ___12734589____

Aber wie bereits erwähnt, können Sie den Formatbezeichner explizit als Parameter in str.format() angeben .

Der vorherige Code sieht in diesem Fall also so aus:

 print("Hello {:{g}}".format(12734589, g = "_^15"))
Output: Hello ___12734589____

Fühlen Sie sich frei, die anderen Beispiele mit der obigen Option umzuschreiben.

8. Formatieren Sie die Ausgaben in eine bestimmte Anzahl von signifikanten Zahlen

Möglicherweise möchten Sie auch eine bestimmte Anzahl signifikanter Zahlen für eine Berechnung mit der Methode .format() zurückgeben .

Der folgende Beispielcode rundet beispielsweise das Ergebnis der mathematischen Operation auf eine signifikante Dezimalzahl:

 calcprofitPerc = ((45 - 20)/45)*100
formattedOutput = "Our profit on this is {profit: .1f}%"
print(formattedOutput.format(profit = calcprofitPerc))
Output: Our profit on this is 55.6%

9. Kürzen Sie lange Zeichenfolgen

Obwohl das Abschneiden eines Textes unpraktisch erscheinen mag, können Sie nicht sagen, wo Sie ihn benötigen könnten.

So schneiden Sie einen Teil Ihrer String-Ausgabe mit der Funktion str.format() ab :

 print(("Truncate this to the first 3 alphabets: {:.3}").format("idowuomisola"))
Output: Truncate this to the first 3 alphabets: ido

10. Trennen Sie eine Zahlengruppe anhand eines Kriteriums

Sie können eine Gruppe von Zahlen durch einen Unterstrich oder ein Komma trennen:

 print("Separated by underscore: {:{g}}".format(12734589, g="_"))
print("Separated by comma: {:{g}}".format(12734589, g=","))
Output:
Separated by underscore: 12_734_589
Separated by comma: 12,734,589

Verwandte: So teilen Sie einen String in Python

Darüber hinaus können Sie die zu behandelnde Nummerngruppe mit ihrem Schlüssel angeben:

 print("First numbers by underscore: {0:{g}}".format(12734589, 123674, 662772, g="_"))
print("Third numbers by comma: {2:{g}}".format(12734589, 123674, 662772, g=","))
Output:
First numbers by underscore: 12_734_589
Third numbers by comma: 662,772

Präsentieren Sie Ausgaben schön mit der Python String format() Methode

Eine Möglichkeit, Ihr Programm hervorzuheben, besteht darin, Ergebnisse und Abfragen zu präsentieren. Zweifellos bietet die Python-String-Format-Methode eine sauberere Möglichkeit, Ergebnisse auszugeben. Im Gegensatz zur vorherigen Modulo-Methode alter Python-Versionen ist das in Python 3 eingeführte neue String-Format lesbarer und benutzerfreundlicher.