Maison >développement back-end >Tutoriel Python >Comment résoudre les erreurs de formatage de chaîne de Python ?

Comment résoudre les erreurs de formatage de chaîne de Python ?

WBOY
WBOYoriginal
2023-06-24 23:46:522087parcourir

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn