str.format() ist eine der String-Formatierungsmethoden in Python3, die mehrere Ersetzungen und Wertformatierungen ermöglicht. Mit dieser Methode können wir Elemente innerhalb einer Zeichenfolge durch Positionsformatierung verketten.

Verwenden eines einzelnen Formatierers:

Formatierer fügen ein oder mehrere Ersatzfelder und Platzhalter, die durch ein Paar geschweifte Klammern {} definiert sind, in eine Zeichenfolge ein und rufen das Zeichen str.format() auf. Der Wert, den wir in die Platzhalter einfügen und mit der Zeichenfolge verknüpfen möchten, die als Parameter an die Formatierungsfunktion übergeben wird.

Syntax: {} .format (Wert)

Parameter:
(Wert): Kann eine Ganzzahl, eine numerische Gleitkommakonstante, eine Zeichenfolge, Zeichen oder sogar Variablen sein.

Returntype: Gibt eine formatierte Zeichenfolge mit dem Wert zurück, der als Parameter an der Platzhalterposition übergeben wird.



Code # 1: Einfache Demonstration des Formats().

  
print ("{}, A computer science portal for geeks."
                        .format("GeeksforGeeks")) 
  
str = "This article is written in {}"
print (str.format("Python")) 
  
print ("Hello, I am {} years old !".format(18))  

Ausgabe :

GeeksforGeeks, Ein Informatikportal für Geeks.
Dieser Artikel ist in Python geschrieben
Hallo, ich bin 18 Jahre alt!

Verwenden mehrerer Formatierer:

Beim Formatieren der Zeichenfolge können mehrere geschweifte Klammern verwendet werden. Nehmen wir an, wenn im Satz eine andere Variablensubstitution erforderlich ist, können Sie ein zweites Paar geschweifter Klammern hinzufügen und einen zweiten Wert an die Methode übergeben. Python ersetzt die Platzhalter der Reihe nach durch Werte .

Syntax: {} {} .format (Wert1, Wert2)

Parameter:
(Wert1, Wert2): Kann Ganzzahlen, numerische Gleitkommakonstanten, Zeichenfolgen, Zeichen und sogar Variablen sein. Der einzige Unterschied besteht darin, dass die Anzahl der als Parameter in der format() -Methode übergebenen Werte der Anzahl der in der Zeichenfolge erstellten Platzhalter entsprechen muss.

Fehler und Ausnahmen:
IndexError: Tritt auf, wenn der String einen zusätzlichen Platzhalter hat und wir in der format() -Methode keinen Wert dafür übergeben haben. Python weist den Platzhaltern normalerweise den Standardindex in der Reihenfolge 0, 1, 2, 3… zu. um auf die als Parameter übergebenen Werte zuzugreifen. Wenn es also auf einen Platzhalter stößt, dessen Index keinen Wert als Parameter enthält, wird IndexError ausgelöst.

Code # 2:

  
  
my_string = "{}, is a {} {} science portal for {}"
  
print (my_string.format("GeeksforGeeks", "computer", "geeks")) 

Ausgabe :



Traceback (letzter Anruf zuletzt):
  Datei "/home/949ca7b5b7e26575871639f03193d1b3.py", Zeile 2, in
    print (my_string.format ("GeeksforGeeks", "Computer", "Geeks"))
IndexError: Tupelindex außerhalb des Bereichs

 
Code # 3: Formatierer mit mehreren Platzhaltern.

  
my_string = "{}, is a {} science portal for {}"
print (my_string.format("GeeksforGeeks", "computer", "geeks")) 
  
print ("Hi ! My name is {} and I am {} years old"
                            .format("User", 19)) 
  
print ("This is {} {} {} {}"
       .format("one", "two", "three", "four")) 

Ausgabe :

GeeksforGeeks ist ein Informatikportal für Geeks
Hallo! Mein Name ist User und ich bin 19 Jahre alt
Dies ist eins zwei drei vier

 

Formatierer mit Positions- und Schlüsselwortargumenten:

Wenn die Platzhalter {} leer sind, ersetzt Python die durch str.format() übergebenen Werte der Reihe nach.

Die Werte , die innerhalb der str.format() Methode gibt , sind im wesentlichen Tupels Datentypen , und jeder einzelne Wert in dem Tupel enthalten ist, kann durch seine Indexnummer genannt werden, die mit der Indexnummer beginnt 0. Diese Indexzahlen können in den geschweiften weitergegeben Klammern, die als Platzhalter in der ursprünglichen Zeichenfolge dienen.

Syntax: {0} {1} .format (positional_argument, keyword_argument)

Parameter: (positional_argument, keyword_argument)

Positional_argument können Ganzzahlen, numerische Gleitkommakonstanten, Zeichenfolgen, Zeichen und sogar Variablen sein.
Keyword_argument ist im Wesentlichen eine Variable, die einen Wert speichert, der als Parameter übergeben wird.

Code # 4:

  
print("{0} love {1}!!".format("GeeksforGeeks", 
                                    "Geeks")) 
  
print("{1} love {0}!!".format("GeeksforGeeks", 
                                    "Geeks")) 
  
  
print("Every {} should know the use of {} {} programming and {}"
    .format("programmer", "Open", "Source", "Operating Systems")) 
  
  
print("Every {3} should know the use of {2} {1} programming and {0}"
        .format("programmer", "Open", "Source", "Operating Systems")) 
  
  
print("{gfg} is a {0} science portal for {1}"
.format("computer", "geeks", gfg ="GeeksforGeeks")) 

Ausgabe :



GeeksforGeeks lieben Geeks !!
Geeks lieben GeeksforGeeks !!
Jeder Programmierer sollte die Verwendung von Open Source-Programmier- und Betriebssystemen kennen
Jedes Betriebssystem sollte die Verwendung der Source Open-Programmierung und des Programmiergeräts kennen
GeeksforGeeks ist ein Informatikportal für Geeks

 

Typ Angabe:

Weitere Parameter können in die geschweiften Klammern unserer Syntax aufgenommen werden. Verwenden Sie die Formatcodesyntax {Feldname: Konvertierung} , wobei Feldname die Indexnummer des Arguments für die Methode str.format() angibt und die Konvertierung auf den Konvertierungscode des Datentyps verweist.

s - Zeichenfolgen
d - Dezimalzahlen (Basis-10)
f - Gleitkommaanzeige
c - Zeichen
b - binäres
o - Oktal
x - Hexadezimal mit Kleinbuchstaben nach 9
X - Hexadezimal mit Großbuchstaben nach 9
e - Exponentenschreibweise

Syntax:
String {Feldname: Konvertierung} Example.format (Wert)

Fehler und Ausnahmen:
ValueError: Bei der Typkonvertierung in dieser Methode tritt ein Fehler auf.

Code # 5:

  
print("The temperature today is {0:d} degrees outside !"
                                        .format(35.567)) 
  
                                            

Ausgabe :

Traceback (letzter Anruf zuletzt):
  Datei "/home/9daca03d1c7a94e7fb5fb326dcb6d242.py", Zeile 5, in
    print ("Die Temperatur beträgt heute {0: d} Grad draußen!". Format (35.567))
ValueError: Unbekannter Formatcode 'd' für Objekt vom Typ 'float'

 
Code # 6:

print ("This site is {0:f}% securely {1}!!". 
                    format(100, "encrypted")) 
  
print ("My average of this {0} was {1:.2f}%"
            .format("semester", 78.234876)) 
  
print ("My average of this {0} was {1:.0f}%"
            .format("semester", 78.234876)) 
  
print("The {0} of 100 is {1:b}"
        .format("binary", 100)) 
          
print("The {0} of 100 is {1:o}"
        .format("octal", 100)) 

Ausgabe :

Diese Seite ist 100.000000% sicher verschlüsselt !!
Mein Durchschnitt dieses Semesters lag bei 78,23%
Mein Durchschnitt dieses Semesters lag bei 78%
Die Binärzahl von 100 ist 1100100
Das Oktal von 100 ist 144

 



Auffüllen von Substitutionen oder Generieren von Leerzeichen:

Code # 7:

Standardmäßig sind Zeichenfolgen innerhalb des Feldes linksbündig und Zahlen rechtsbündig. Wir können dies ändern, indem wir einen Ausrichtungscode direkt hinter dem Doppelpunkt platzieren.

<    : Text im Feld nach links ausrichten
 ^    : Text im Feld zentrieren>    : Text im Feld nach
 rechts ausrichten
print("{0:4}, is the computer science portal for {1:8}!"
                        .format("GeeksforGeeks", "geeks")) 
  
print("It is {0:5} degrees outside !"
                        .format(40)) 
  
print("{0:4} was founded in {1:16}!"
    .format("GeeksforGeeks", 2009)) 
  
  
print("{0:^16} was founded in {1:<4}!"
        .format("GeeksforGeeks", 2009)) 
  
print("{:*^20s}".format("Geeks")) 

Ausgabe :

GeeksforGeeks ist das Informatikportal für Geeks!
Es ist 40 Grad draußen!
GeeksforGeeks wurde 2009 gegründet!
 GeeksforGeeks wurde 2009 gegründet!
******* Geeks ********

 

Anwendungen:

Formatierer werden im Allgemeinen zum Organisieren von Daten verwendet. Formatierer können in ihrem besten Licht gesehen werden, wenn sie verwendet werden, um viele Daten auf visuelle Weise zu organisieren. Wenn wir Benutzern Datenbanken anzeigen, kann die Verwendung von Formatierern zum Erhöhen der Feldgröße und zum Ändern der Ausrichtung die Ausgabe besser lesbar machen.

Code Nr. 8: Demonstration der Organisation großer Datenmengen

  
def unorganized(a, b): 
    for i in range (a, b): 
        print ( i, i**2, i**3, i**4 ) 
  
def organized(a, b): 
    for i in range (a, b): 
  
        
        
        print("{:6d} {:6d} {:6d} {:6d}"
        .format(i, i ** 2, i ** 3, i ** 4)) 
  
n1 = int(input("Enter lower range :-\n")) 
n2 = int(input("Enter upper range :-\n")) 
  
print("------Before Using Formatters-------") 
  
unorganized(n1, n2) 
  
print() 
print("-------After Using Formatters---------") 
print() 
  
organized(n1, n2) 

Ausgabe :

Geben Sie den unteren Bereich ein: -
3
Oberen Bereich eingeben: -
10
------ Vor der Verwendung von Formatierern -------
3 9 27 81
4 16 64 256
5 25 125 625
6 36 216 1296
7 49 343 2401
8 64 512 4096
9 81 729 6561
------- Nach Verwendung von Formatierern ---------
     3 9 27 81
     4 16 64 256
     5 25 125 625
     6 36 216 1296
     7 49 343 2401
     8 64 512 4096
     9 81 729 6561