Maison >développement back-end >Tutoriel Python >Comment résoudre les erreurs de formatage de chaîne de Python ?
Python est un langage de programmation largement utilisé et le formatage des chaînes est l'une de ses fonctionnalités très basiques et importantes. Cependant, au cours du processus de développement, nous rencontrons parfois des erreurs de formatage de chaîne, qui peuvent provenir de divers facteurs tels qu'une mauvaise utilisation de nos balises et des erreurs grammaticales. Cet article explique comment résoudre les erreurs de formatage de chaîne Python.
1. Comprendre les méthodes de formatage de chaîne de Python
En Python, il existe trois façons de formater des chaînes : la méthode du signe de pourcentage (%), la méthode de fonction string.format() et le nouveau f- en mode chaîne Python3. Parmi elles, les deux premières méthodes sont les plus couramment utilisées, tandis que f-string est une nouvelle méthode ajoutée dans la version Python 3.6, qui est relativement nouvelle.
1. Méthode du signe de pourcentage (%)
La méthode du signe de pourcentage (%) est la méthode de formatage de chaîne la plus ancienne et la plus classique en Python. Son utilisation est la suivante :
name = 'Tom' age = 18 score = 95.8 print('%s is %d years old, and his score is %.1f.' % (name, age, score))
Résultat de sortie :
Tom is 18 years old, and his score is 95.8.
2. () méthode de fonction
La méthode de fonctionString.format() est la deuxième méthode de formatage de chaîne en Python. Son utilisation est la suivante :
name = 'Tom' age = 18 score = 95.8 print('{} is {} years old, and his score is {:.1f}.'.format(name, age, score))
Résultat de sortie :
Tom is 18 years old, and his score is 95.8.
Méthode 3.f-string
La version Python 3.6 a été ajoutée. la méthode f-string. La méthode d'utilisation est la suivante :
name = 'Tom' age = 18 score = 95.8 print(f'{name} is {age} years old, and his score is {score:.1f}.')
Résultat de sortie :
Tom is 18 years old, and his score is 95.8.
2. Erreurs et solutions courantes de formatage de chaîne Python
1. Mauvaise utilisation des marqueurs
Dans le formatage de chaîne, l'utilisation de marqueurs est très important. Les balises courantes incluent %s, %d, %f, etc. Parmi eux, %s représente une chaîne, %d représente un entier et %f représente un nombre à virgule flottante.
Si nous utilisons le mauvais marqueur, une erreur se produira. Par exemple :
name = 'Tom' age = 18 score = 95.8 print('%s is %d years old, and his score is %d.' % (name, age, score))
Résultat de sortie :
TypeError: %d format: a number is required, not float
En effet, score utilise le marqueur %d, mais score est un nombre à virgule flottante et le marqueur %f doit être utilisé. Par conséquent, nous devrions changer le code en :
name = 'Tom' age = 18 score = 95.8 print('%s is %d years old, and his score is %.1f.' % (name, age, score))
Résultat de sortie :
Tom is 18 years old, and his score is 95.8.
Nous pouvons également utiliser la fonction string.format() ou la méthode f-string pour éviter les erreurs d'utilisation des balises.
2. Inadéquation des paramètres
Lors du formatage des chaînes, vous devez vous assurer que le nombre de paramètres transmis correspond au nombre de marqueurs correspondants. S'il y a trop ou pas assez de paramètres, une erreur se produira. Par exemple :
name = 'Tom' print('%s is %d years old.' % (name))
Résultat de sortie :
TypeError: not enough arguments for format string
C'est parce que nous n'avons passé qu'un seul paramètre, mais il y a deux marqueurs, le code doit être remplacé par :
name = 'Tom' age = 18 print('%s is %d years old.' % (name, age))
Résultat de sortie :
Tom is 18 years old.
3. Erreur de syntaxe
Syntaxe L'erreur est l'une des erreurs courantes en Python. En particulier dans le formatage des chaînes, des erreurs de syntaxe peuvent facilement survenir en raison d'une utilisation incorrecte de symboles tels que les crochets et les guillemets. Par exemple :
print('My name is {}. I'm {} years old.' .format('Tom', 18))
Résultat de sortie :
File "<ipython-input-5-24fc64aa88e2>", line 1 print('My name is {}. I'm {} years old.' .format('Tom', 18)) ^ SyntaxError: invalid syntax
Cela est dû au fait que deux guillemets simples sont utilisés dans la chaîne ci-dessus, ce qui entraîne une erreur d'analyse. Le code doit être modifié comme suit :
print("My name is {}. I'm {} years old." .format('Tom', 18))
Résultat du résultat :
My name is Tom. I'm 18 years old.
IV. Résumé
Le formatage de chaîne est une fonctionnalité très basique et importante en Python. Savoir comment résoudre les erreurs de formatage de chaîne Python peut améliorer la qualité de notre code. Lorsque nous utilisons le formatage de chaîne, nous devons comprendre la méthode de formatage de chaîne de Python et éviter les types d'erreurs courants, tels qu'une utilisation incorrecte des marqueurs, des incompatibilités de paramètres et des erreurs de syntaxe. Si vous rencontrez une erreur, vous devez parcourir attentivement le code pour trouver l'erreur et la corriger.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!