Dieser Artikel stellt Ihnen hauptsächlich die grundlegende Syntax und die erweiterte Verwendung von str.format() in der Programmierung vor. Er ist sehr detailliert und enthält hoffentlich Beispiele Sie können „Gefällt mir“
1. Die Einführung von str.format
Aktion:Zahlung um Zeit:13:30 abgeschlossen :00
print "User:" + user_name + " has completed Action:" + \ action_name + " at Time:" + current_time
print "User:%s has completed Action:%s at Time:%s" % \ (user_name, action_name, current_time)
print "User:{} has completed Action:{} at Time:{}".format( user_name, action_name, current_time)
Formatieren von Zeichenfolgen.
Als nächstes werden wir die spezifische Verwendung von str.format() im Detail besprechen.2. Grundlegende Syntax von str.format
Die folgenden zwei Schreibweisen sind äquivalent:
"Hallo, {} und {}!".format ("John", "Mary")
"Hallo, {0} und {1}!".format("John", "Mary")
In geschweiften Klammern Der Index der Zielzeichenfolge kann geschrieben oder weggelassen werden. Wenn es weggelassen wird, erfolgt die Ersetzung in der Reihenfolge der in Formatklammern eingeschlossenen Zielzeichenfolgen.
2.2. Verwendung des Schlüsselwortindex
Zusätzlich zur Angabe der Zielzeichenfolge nach Position können wir sie auch nach Schlüsselwort angeben.
Zum Beispiel:
"Hello, {boy} and {girl}!".format(boy="John", girl="Mary")
Hinweis: Wenn die Zeichenfolge selbst geschweifte Klammern enthält, müssen diese durch zweimaliges Wiederholen maskiert werden. Wenn die Zeichenfolge selbst beispielsweise { enthält, schreiben wir sie einfach in {{ um, damit Python weiß, dass es sich um ein normales Zeichen handelt und nicht um die geschweiften Klammern, die ein Ersetzungsfeld umgeben.
3. Erweiterte Syntax von str.format
str.format ist sehr leistungsfähig genug, um die
. 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
-Attributoder 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)
3.2. Parameterausgabekonvertierung
Die String-Ausgabe von Parametern wird standardmäßig durch eine eigene Formatmethode implementiert. Das heißt, Python verwendet die Formatausgabe des Parameters anstelle des Ersetzungsfelds. Wenn wir str() oder repr() aufrufen möchten, um Parameter zu konvertieren, können wir dies tun, indem wir das Konvertierungsflag hinzufügen:
# call str() on argument "It's a {0!s}." #call repr() on argument "We can get info from {name!r}."
lautet wie folgt:
"... {field_name!conversion:format_spec} ..."
Wie Sie dem obigen Code entnehmen können, kann die Formatzeichenfolge in drei Teile unterteilt werden: Feldname, Konvertierung und Formatspezifikation, die jeweils dem Namen des Ersatzfelds (Index), dem Konvertierungsflag und der Formatbeschreibung entsprechen. Unter diesen ist der Feldname erforderlich, während die beiden letzteren optional sind. Das Konvertierungsflag folgt dem Ausrufezeichen und die Formatbeschreibung folgt dem Doppelpunkt.
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 für ganze Zahlen gültig
fügt automatisch die entsprechenden 0b, 0o und 0x vor binären, oktalen und hinzu Hexadezimalwerte.
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
Das obige ist der detaillierte Inhalt vonDetaillierte Erklärung von str.format() in Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!