TypeError: Not Enough Arguments for Format String Error in Python behoben
In Python können wir Zeichenketten formatieren, um das Endergebnis in unserem gewünschten Stil und Format zu erhalten.
Zur Formatierung von Strings gehört auch die Verwendung von Platzhalterwerten mit dem %
-Zeichen. Diese Methode ist eine sehr verbreitete Technik, um fehlende Werte in Python mit temporären Werten zu versehen.
Wenn man jedoch nicht aufpasst, kann es zu dem Fehler not enough arguments for format string
kommen, einem TypeError
. Wir werden diesen Fehler und seine Lösungen in diesem Tutorial besprechen.
Siehe folgenden Code.
a = 2
b = 4
c = 6
s = "First %s Second %s Third %s" % a, b, c
print(s)
Ausgabe:
TypeError: not enough arguments for format string
Wir erhalten diesen Fehler, weil wir nur ein %
-Zeichen in der Zeichenfolge angeben, um die Werte anzugeben, und es drei Werte gibt. Der obige Code berücksichtigt nur den ersten Wert (a
). Wir müssen sie in einem Tupel übergeben, um dies zu lösen.
Beispielsweise:
a = 2
b = 4
c = 6
s = "First %s Second %s Third %s" % (a, b, c)
print(s)
Ausgabe:
First 2 Second 4 Third 6
Eine andere Möglichkeit, diesen Fehler zu umgehen, ist die Verwendung der Funktion format()
. Die Methode %
ist für die Formatierung von Strings veraltet.
Wir können die Werte in der Funktion format()
angeben und die fehlenden Werte mit geschweiften Klammern {}
erwähnen.
Siehe Code unten.
a = 2
b = 4
c = 6
s = "First {0} Second {1} Third {2}".format(a, b, c)
print(s)
Ausgabe:
First 2 Second 4 Third 6
In Python 3.x und höher können wir die fstrings
verwenden, um Platzhalter-Strings bereitzustellen. Diese Methode ist eine neuere und effizientere Methode zum Formatieren von Zeichenketten.
Wir können die Werte wie im vorherigen Beispiel in geschweiften Klammern angeben.
Siehe folgendes Beispiel.
a = 2
b = 4
c = 6
s = f"First {a} Second {b} Third {c}"
print(s)
Ausgabe:
First 2 Second 4 Third 6
Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.
LinkedInVerwandter Artikel - Python String
- Entfernen Kommas aus String in Python
- Wie man prüft, ob eine Zeichenkette auf pythonische Weise leer ist
- Konvertieren einer Zeichenkette in einen Variablennamen in Python
- Wie man Leerzeichen in einem String in Python entfernt
- Wie man in Python Zahlen aus einer Zeichenkette extrahiert
- Wie man in Python String in datetime konvertiert