Le formatage de chaîne vous permet de créer des chaînes dynamiques en combinant des variables et des valeurs. Dans cet article, nous aborderons environ 5 façons de formater une chaîne.
Vous apprendrez différentes méthodes de formatage de chaîne avec des exemples pour une meilleure compréhension. Regardons-les maintenant !
Comment formater des chaînes en Python
Il existe cinq manières différentes d'effectuer le formatage d'une chaîne dans Python
- Formatage avec l'opérateur %.
- Formatage avec la méthode de chaîne format().
- Formatage avec des chaînes littérales, appelées f-strings.
- Formatage avec la classe de modèle de chaîne
- Formatage avec la méthode de chaîne center().
Nous verrons donc l’intégralité des méthodes mentionnées ci-dessus, et nous nous concentrerons également sur la meilleure stratégie de formatage de chaîne.
1. Comment formater une chaîne à l'aide de l'opérateur %
Il s'agit de la méthode la plus ancienne de formatage de chaîne. Ici, nous utilisons le modulo % opérateur . Le module % est également connu sous le nom d'opérateur de formatage de chaîne.
Chaîne de formatage Python utilisant l'opérateur %
Dans l'expression Le chien errant galeux et maigre %s a englouti % « précipitamment », l'espace réservé %s dans la chaîne est remplacé par la valeur « précipitamment ».
Python3
exemple de carte Java
print>(>'The mangy, scrawny stray dog %s gobbled down'> %>'hurriedly'> +> >'the grain-free, organic dog food.'>)> |
>
>Sortir
The mangy, scrawny stray dog hurriedly gobbled downthe grain-free, organic dog food.>
Injection de plusieurs chaînes à l'aide de l'opérateur modulo
Ici, nous insérons plusieurs chaînes avec l'opérateur %.
Python3
x>=> 'looked'> print>(>'Misha %s and %s around'>%>(>'walked'>,x))> |
>
>Sortir
Misha walked and looked around>
Gestion de précision en Python à l'aide de l'opérateur %
Les nombres à virgule flottante utilisent le format %a.bf . Ici, un serait le nombre minimum de chiffres devant être présents dans la chaîne ; ceux-ci peuvent être complétés par des espaces blancs si le nombre entier ne comporte pas autant de chiffres.
Près de ça, petit ami représente le nombre de chiffres à afficher après la virgule décimale.
Dans ce code, la chaîne « La valeur de pi est : %5.4f » contient un spécificateur de format %5.4f. Le spécificateur de format %5.4f est utilisé pour formater un nombre à virgule flottante avec une largeur minimale de 5 et une précision de 4 décimales.
Python3
print>(>'The value of pi is: %5.4f'> %>(>3.141592>))> |
>
>Sortir
The value of pi is: 3.1416>
Types de conversion de formats multiples
Dans le code donné, la chaîne de formatage Python est convertie en entier et en virgule flottante avec %d,%f.
Python3
variable>=> 12> string>=> 'Variable as integer>=> %>d
> Variable as>float> => %>f'>%>(variable, variable)> print> (string)> |
>
>Sortir
Variable as integer = 12 Variable as float = 12.000000>
Note: Pour en savoir plus sur le formatage %, reportez-vous à Formatage de chaîne en Python en utilisant%
2. Comment formater une chaîne à l'aide de la méthode format()
Méthode Format() a été introduit avec Python3 pour gérer plus efficacement le formatage de chaînes complexes.
Les formateurs fonctionnent en insérant un ou plusieurs champs de remplacement et des espaces réservés définis par une paire d'accolades { } dans une chaîne et en appelant le str.format() . La valeur que nous souhaitons mettre dans les espaces réservés et concaténer avec la chaîne passée en paramètres dans la fonction de format.
Syntaxe: 'String ici {} puis aussi {}'.format('something1′,'something2')
Formatage de la chaîne Python à l'aide de la méthode format()
Ce code utilise {} comme espace réservé, puis nous avons appelé la méthode.format() sur « égal » à l'espace réservé.
Python3
factorielle en c
print>(>'We all are {}.'>.>format>(>'equal'>))> |
>
>Sortir
We all are equal.>
Insertion basée sur un index
Dans ce code, des accolades {} avec des indices sont utilisées dans la chaîne « {2} {1} {0} » pour indiquer les positions où les valeurs correspondantes seront placées.
Python3
print>(>'{2} {1} {0}'>.>format>(>'directions'>,> >'the'>,>'Read'>))> |
>
>Sortir
Read the directions>
Insérer un objet en attribuant des mots-clés
Dans ce code, des accolades {} avec des espaces réservés nommés ({a}, {b}, {c}) sont utilisées dans la chaîne 'a : {a}, b : {b}, c : {c}' pour indiquer les positions où les arguments nommés correspondants seront placés.
Python3
print>(>'a: {a}, b: {b}, c: {c}'>.>format>(a>=> 1>,> >b>=> 'Two'>,> >c>=> 12.3>))> |
>
>Sortir
a: 1, b: Two, c: 12.3>
Réutiliser les objets insérés
Dans ce code, des accolades {} avec des espaces réservés nommés ({p}) sont utilisées dans la chaîne 'Le premier {p} allait bien, mais le {p} {p} était difficile pour indiquer les positions où le correspondant est nommé.' l'argument p sera placé.
Python3
print>(> >'The first {p} was alright, but the {p} {p} was tough.'>.>format>(p>=>'second'>))> |
>
>Sortir
The first second was alright, but the second second was tough.>
Précision flottante avec la méthode .format()
Syntaxe: {[index]:[largeur][.precision][type]}
Le type peut être utilisé avec des codes de format :
tableau c chaîne
- 'd' pour les entiers
- 'F' pour les nombres à virgule flottante
- 'b' pour les nombres binaires
- 'Ô' pour les nombres octaux
- 'X' pour les nombres octaux hexadécimaux
- 's' pour chaîne
- 'C'est' pour une virgule flottante dans un format exposant
Exemple:
Les deux codes effectuent un formatage de chaîne. La première chaîne est formatée avec « % » et la deuxième chaîne est formatée avec .format().
Python3
print>(>'The valueof pi is: %1.5f'> %>3.141592>)> print>(>'The valueof pi is: {0:1.5f}'>.>format>(>3.141592>))> |
>
>Sortir
The valueof pi is: 3.14159 The valueof pi is: 3.14159>
Note: Pour en savoir plus sur str.format(), reportez-vous à fonction format() en Python
3. Comprendre la chaîne f Python
PEP 498 a introduit un nouveau mécanisme de formatage de chaîne connu sous le nom d'interpolation de chaîne littérale ou plus communément sous le nom de Cordes F (en raison du caractère f précédant la chaîne littérale). L'idée derrière f-String en Python est de simplifier l'interpolation de chaînes.
Pour créer une f-string en Python, préfixez la chaîne avec la lettre f. La chaîne elle-même peut être formatée de la même manière que vous le feriez avec rue. format() . Les chaînes F offrent un moyen concis et pratique d'intégrer des expressions Python dans des littéraux de chaîne pour le formatage.
Formatage de chaîne avec des chaînes F
Dans ce code, la f-string fJe m'appelle {nom}. est utilisé pour interpoler la valeur de la variable name dans la chaîne.
Python3
name>=> 'Ele'> print>(f>'My name is {name}.'>)> |
>
>Sortir
My name is Ele.>
Cette nouvelle syntaxe de formatage est très puissante et simple. Vous pouvez également insérer des expressions Python arbitraires et même y effectuer des opérations arithmétiques.
Opérations arithmétiques utilisant des chaînes F
Dans ce code, la f-string f Il a dit que son âge était {2 * (a + b)}. est utilisé pour interpoler le résultat de l'expression 2 * (a + b) dans la chaîne.
Python3
a>=> 5> b>=> 10> print>(f>'He said his age is {2 * (a + b)}.'>)> |
>
>Sortir
He said his age is 30.>
Nous pouvons également utiliser lambda expressions dans f-string mise en page.
Expressions Lambda utilisant des chaînes F
Dans ce code, une fonction lambda anonyme est définie en utilisant lambda x : x*2. Cette fonction lambda prend un argument x et renvoie son double.
Python3
print>(f>'He said his age is {(lambda x: x*2)(3)}'>)> |
sinon java
>
>Sortir
He said his age is 6>
Précision flottante dans la méthode f-String
Dans ce code, le formatage de la chaîne f est utilisé pour interpoler la valeur de la variable num dans la chaîne.
Syntax : {value:{width}.{precision}}> Python3
num>=> 3.14159> print>(f>'The valueof pi is: {num:{1}.{5}}'>)> |
>
>Sortir
The valueof pi is: 3.1416>
Note: Pour en savoir plus sur les f-strings, reportez-vous à chaînes f en Python
4. Classe de modèle de chaîne Python
Dans le module String, Template Class nous permet de créer une syntaxe simplifiée pour la spécification de sortie. Le format utilise des noms d'espace réservé formés par $ avec un Python valide identifiants (caractères alphanumériques et traits de soulignement). Entourer l'espace réservé d'accolades permet de le suivre par davantage de lettres alphanumériques sans espaces intermédiaires. L'écriture de $$ crée un seul $ d'échappement :
Formatage de la chaîne Python à l'aide de la classe de modèle
Ce code importe la classe Template du module string. La classe Template nous permet de créer une chaîne de modèle avec des espaces réservés qui peuvent être remplacés par des valeurs réelles. Ici, nous remplaçons les valeurs n1 et n2 à la place de n3 et n4 dans la chaîne n.
Python3
from> string>import> Template> n1>=> 'Hello'> n2>=> 'techcodeview.com'> n>=> Template(>'$n3 ! This is $n4.'>)> # and pass the parameters into the> # template string.> print>(n.substitute(n3>=>n1, n4>=>n2))> |
factorielle en c
>
>Sortir
Hello ! This is techcodeview.com.>
Note: Pour en savoir plus sur la classe String Template, reportez-vous à Classe de modèle de chaîne en Python
5. Comment formater une chaîne à l'aide de la méthode center()
La méthode center() est une méthode intégrée à la classe str de Python qui renvoie une nouvelle chaîne centrée dans une chaîne d'une largeur spécifiée.
Formatage de la chaîne à l'aide de la méthode center()
Ce code renvoie un nouveau chaîne rembourré avec des espaces sur les côtés gauche et droit.
Python3
string>=> 'GeeksForGeeks!'> width>=> 30> centered_string>=> string.center(width)> print>(centered_string)> |
>
>Sortir
GeeksForGeeks!>
Chaîne de format Python : % par rapport à .format par rapport au littéral de chaîne f
cordes f sont plus rapides et meilleurs que les deux %-mise en page et str.format() . Les expressions f-strings sont évaluées au moment de l'exécution, et nous pouvons également intégrer des expressions dans f-string, en utilisant une syntaxe très simple et facile.
Les expressions à l'intérieur des accolades sont évaluées au moment de l'exécution, puis assemblées avec la partie chaîne de la f-string, puis la chaîne finale est renvoyée.
Note: Utilisez Template String si la chaîne est une chaîne fournie par l'utilisateur. Sinon, utilisez f-Strings si vous utilisez Python 3.6+ et. méthode format() si vous ne l’êtes pas.
Nous avons couvert les 5 méthodes de formatage de chaîne en Python. Il existe de nombreux cas d'utilisation et exemples pour chaque méthode. Nous avons également comparé ces méthodes pour déterminer laquelle est la plus efficace à utiliser dans des projets réels.
Lectures similaires :
- Formatage de chaîne en Python
- Comment utiliser les formateurs de chaînes en Python
- Comment formater une chaîne à l'aide d'un dictionnaire en Python