TypeError: Not Enough Arguments for Format String Error in Python behoben

Manav Narula 14 April 2022
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 Narula avatar Manav Narula avatar

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.

LinkedIn

Verwandter Artikel - Python String