Corriger TypeError : Not Enough Arguments for Format String Error en Python
![Corriger TypeError : Not Enough Arguments for Format String Error en Python](/img/Python/feature-image---python-not-enough-prameters-for-format-strings.webp)
En Python, nous pouvons formater des chaînes pour obtenir le résultat final dans le style et le format souhaités.
Le formatage de chaîne implique également l’utilisation de valeurs d’espace réservé avec le signe %
. Cette méthode est une technique très courante pour fournir des valeurs manquantes en Python avec des valeurs temporaires.
Cependant, si l’on n’y prend pas garde, cela peut conduire à l’erreur not enough arguments for format string
, une TypeError
. Nous discuterons de cette erreur et de ses solutions dans ce tutoriel.
Voir le code suivant.
a = 2
b = 4
c = 6
s = "First %s Second %s Third %s" % a, b, c
print(s)
Production :
TypeError: not enough arguments for format string
Nous obtenons cette erreur car nous ne fournissons qu’un seul signe %
dans la chaîne pour donner les valeurs, et il y a trois valeurs. Le code ci-dessus ne considère que la première valeur (a
). Nous devons les passer dans un tuple pour résoudre ce problème.
Par example:
a = 2
b = 4
c = 6
s = "First %s Second %s Third %s" % (a, b, c)
print(s)
Production :
First 2 Second 4 Third 6
Une autre façon de surmonter cette erreur est d’utiliser la fonction format()
. La méthode %
est obsolète pour le formatage des chaînes.
On peut préciser les valeurs dans la fonction format()
et mentionner les valeurs manquantes à l’aide d’accolades {}
.
Voir le code ci-dessous.
a = 2
b = 4
c = 6
s = "First {0} Second {1} Third {2}".format(a, b, c)
print(s)
Production :
First 2 Second 4 Third 6
En Python 3.x et supérieur, nous pouvons utiliser les fstrings
pour fournir des chaînes d’espace réservé. Cette méthode est une méthode plus récente et plus efficace pour formater les chaînes.
Nous pouvons fournir les valeurs entre accolades comme dans l’exemple précédent.
Voir l’exemple suivant.
a = 2
b = 4
c = 6
s = f"First {a} Second {b} Third {c}"
print(s)
Production :
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.
LinkedInArticle connexe - Python String
- Supprimer les virgules de la chaîne en Python
- Comment vérifier qu'une chaîne est vide de manière pythonique
- Convertir une chaîne en nom de variable en Python
- Comment supprimer les espaces dans une chaîne de caractères en Python
- Comment extraire des nombres d'une chaîne de caractèresen Python
- Comment convertir une chaîne de caractères en datetime en Python