Dieser Artikel stellt Ihnen hauptsächlich die grundlegende Syntax und die erweiterte Verwendung von str.format() in der Python-Programmierung vor. Er ist sehr detailliert und enthält Beispiele.
1 . Die Einführung von str.format
In Python können wir + verwenden, um Strings zu verbinden, was in einfachen Fällen gut funktioniert. Wenn wir jedoch eine komplexe String-Verkettung durchführen müssen, wird der Code nicht nur undurchsichtig und schwer verständlich, sondern auch schwer zu warten, wenn wir ihn trotzdem vervollständigen , diese Methode Es scheint, dass er nicht in der Lage ist, das zu tun, was er will.
Zum Beispiel möchten wir einen Datensatz wie diesen drucken:
Benutzer:John hat Aktion:Zahlung um Zeit:13:30 abgeschlossen :00
Wenn Sie das Pluszeichen verwenden, hat es die folgende Form:
print "User:" + user_name + " has completed Action:" + \ action_name + " at Time:" + current_time
Wenn Sie diesen Code in Zukunft noch einmal lesen, wird er so sein Es ist für uns schwierig, das Ausgabeformat intuitiv zu erkennen, und es ist relativ mühsam, es zu ändern.
Wir können stattdessen % verwenden:
print "User:%s has completed Action:%s at Time:%s" % \ (user_name, action_name, current_time)
Diesmal wird der Code viel klarer und prägnanter.
Python stellt uns jedoch eine weitere einfache und elegante Implementierungsmethode zur Verfügung, die auch die offizieller empfohlene Methode ist: Verwenden Sie str.format(), um Zeichenfolgen zu formatieren:
print "User:{} has completed Action:{} at Time:{}".format( user_name, action_name, current_time)
str.format kann in einfachen Szenarien verwendet werden und ist auch in der Lage, komplexe String-Ersetzungen ohne umständliche String-Verkettungsvorgänge durchzuführen. Die in Python integrierten Typen str und unicode unterstützen beide die Verwendung von str.format() zum Formatieren von Zeichenfolgen.
Als nächstes werden wir die spezifische Verwendung von str.format() im Detail besprechen.
2. Grundlegende Syntax von str.format
Die Formatzeichenfolge verwendet geschweifte Klammern {}, um das Ersetzungsfeld zu umgeben, bei dem es sich um die zu ersetzende Zeichenfolge handelt . Zeichen, die nicht in geschweifte Klammern eingeschlossen sind, werden im Ergebnis intakt angezeigt.
2.1. Verwendung des Positionsindex
Die folgenden zwei Schreibweisen sind äquivalent: "Hallo, {} und {}!".format ("John", "Mary")"Hallo, {0} und {1}!".format("John", "Mary")"Hello, {boy} and {girl}!".format(boy="John", girl="Mary")
3. Erweiterte Syntax von str.format
formatierte Ausgabe zu vervollständigen, die bei der täglichen Arbeit auftritt . Die Beherrschung dieser Methode kann eine solide Grundlage für die zukünftige String-Verarbeitung legen und viel Zeit sparen.
3.1. Greifen Sie auf das-Attribut oder das Element
des Parameters zu. Wenn Sie str.format zum Formatieren einer Zeichenfolge verwenden, übergeben wir normalerweise die Zielzeichenfolge als Parameter an die Formatierungsmethode. Tatsächlich können wir auch auf ein Attribut oder ein Element des Parameters in der Formatzeichenfolge zugreifen: "Mein Auto ist {0.color}.".format(black_car)"Der erste Schüler ist {student[0]}.".format(student=stu_
list)"John ist {d[john]} Jahre alt.".format(d=age_dict)
# call str() on argument "It's a {0!s}." #call repr() on argument "We can get info from {name!r}."
4 str.format allgemeine Form
Wie bereits erwähnt, kann der Feldname entweder ein Positionsindex oder ein Schlüsselwortindex sein. Auf Feldnamen können Punkte folgen, um auf Attribute zuzugreifen, oder eckige Klammern, um auf Elemente zuzugreifen.
Hier konzentrieren wir uns auf die Formatbeschreibung (format_spec).
Die Formatbeschreibung enthält 6 Optionen, nämlich füllen, ausrichten, signieren, Breite, Präzision, Typ. Ihre Positionsbeziehung ist wie folgt:
[[fill]align][sign][#][0][width][,][.precision][type]
fill
kann sein irgendein Zeichen, Standard ist Leerzeichen.
align
ist nur gültig, wenn eine Mindestbreite angegeben ist.
Vorzeichen
Nur gültig für Zahlen
+ Alle Zahlen sind mit Vorzeichen versehen
- Nur negative Zahlen sind mit Vorzeichen versehen (Standardoption)
'#'
ist nur gültig für
Ganzzahlen
fügt automatisch die entsprechenden 0b, 0o, 0x davor hinzu binäre, oktale und hexadezimale Werte.
Fügt automatisch ein ,-Trennzeichen zwischen jeweils drei Zahlen hinzu.
width
Dezimalzahl, die die Mindestbreite definiert. Wenn nicht angegeben, wird sie durch die Breite des Inhalts bestimmt.
Wenn die Ausrichtung nicht angegeben ist, können Sie vor der Breite eine 0 hinzufügen, um automatisch 0 zu füllen. Dies entspricht dem Setzen von Füllung auf 0 und Ausrichtung auf =.
wird verwendet, um die Genauigkeit von Gleitkommazahlen oder die maximale Länge einer Zeichenfolge zu bestimmen. Nicht verfügbar für ganzzahlige Werte.
type
bestimmt den Parametertyp, der Standardwert ist s, was eine Zeichenfolge ist.
Integer-Ausgabetyp:
c: Konvertieren der Ganzzahl in das entsprechende Unicode-Zeichen
d: Ausgabe im Dezimalformat (Standardoption) o: Ausgabe in oktaler Form
x: Ausgabe in hexadezimaler Kleinschreibung
Zahl
Ausgabetyp für dezimale Gleitkommazahlen:
e: Exponentenausgabe in wissenschaftlicher Notation , verwenden Sie e, um den Exponententeil darzustellen, die Standardgenauigkeit ist 6
f: Geben Sie den Wert in Festkommaform aus Die Standardgenauigkeit ist 6
F: das Gleiche wie fg: allgemeines Format für eine gegebene Genauigkeit p > wissenschaftliche Notation (Standardoption)
G: allgemeines Format; das gleiche wie g, verwenden Sie E, um den Exponententeil darzustellen, wenn der Wert zu groß ist
n: das gleiche wie g, verwendet jedoch das Trennzeichen der aktuellen Umgebung Trennen Sie jede 3-stellige Zahl
%: Prozentzeichen; verwenden Sie die Prozentform, um den Wert auszugeben, und setzen Sie das f-Zeichen
1 🎜>Besondere Empfehlung
:
2. Python kostenloses Video-Tutorial3. Python objektorientiertes Video-Tutorial
Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der grundlegenden Syntax und der erweiterten Verwendung von str.format(). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!