Python Format de chaîne() Expliquez avec des EXEMPLES

⚡ Résumé intelligent

Python La méthode intégrée `format()` remplace les espaces réservés entre accolades dans une chaîne modèle par les valeurs fournies. Ces espaces réservés acceptent des accolades vides, des indices de position ou des noms de mots clés, et prennent en charge les spécificateurs de format numérique, d'alignement et de remplissage pour le résultat final.

  • 🔤 Espaces réservés : Les accolades {} indiquent où placer les valeurs — vides, numérotées {0} ou nommées {name}.
  • (I.e. Positionnel et mots-clés : La fonction format() remplit les accolades vides dans l'ordre, par position d'index ou par correspondance de noms de mots clés.
  • Spécificateurs de format : Un deux-points ajoute des codes tels que {:d}, {:b}, {:.2f} et {:x} pour une sortie décimale, binaire, à virgule fixe et hexadécimale.
  • ↔️ Alignement et rembourrage : Les nombres de largeur avec {:^10} ou {:,} centrent le texte, ajoutent de l'espacement et insèrent des séparateurs de milliers.
  • 🧱 Objets et dictionnaires : Les espaces réservés lisent les attributs de classe avec {c.attr} et les valeurs du dictionnaire avec {m[key]}.
  • 🤖 Aide à l'IA : Les assistants de codage IA génèrent des appels format() et leurs équivalents en chaînes f à partir d'invites en langage clair.

Python Format de chaîne()

Qu'est-ce que le Python Format de chaîne() ?

Python Format de chaîne() est une fonction utilisée pour remplacer, substituer ou convertir la chaîne avec des espaces réservés avec des valeurs valides dans la chaîne finale. Il s'agit d'une fonction intégrée du Python classe string, qui renvoie la chaîne formatée en sortie. Les espaces réservés à l'intérieur de la chaîne sont définis entre accolades.

Par exemple, « Bienvenue à Guru99 {}”.format('valeur ici').

Syntaxe de la fonction format() dans Python

templatestring.format(val1, val2...)

Paramètres

val1, val2… : Les valeurs qui doivent être remplacées dans la chaîne de modèle donnée qui comporte des espaces réservés sous la forme d'accolades {}. Les espaces réservés peuvent être une chaîne, une paire clé/valeur, des entiers, des nombres à virgule flottante, des caractères, etc.

Valeur de retour

Il renverra la chaîne finale, avec les valeurs valides remplacées à la place des espaces réservés indiqués entre accolades.

Placeholders

Les espaces réservés dans la chaîne du modèle sont représentés à l'aide d'accolades, par exemple {}. L'espace réservé peut être vide {}, ou il peut avoir une variable pour, par exemple, {name}, ou il peut avoir un index numérique, par exemple, {0}, {1}, etc.

Comment fonctionne le format de chaîne() ?

Le Python Format de chaîne() La méthode analysera les chaînes d’origine à la recherche d’espaces réservés. Les espaces réservés peuvent être des accolades vides ({}), des arguments de position, c'est-à-dire que la chaîne peut avoir des espaces réservés avec l'index 0, 1 pour par exemple {0}, {1} etc.

Pour les arguments de mots-clés, le nom de la variable sera présent entre les accolades pour par exemple {name}, {age}. Dans le cas d'accolades vides, les valeurs du format seront remplacées à l'intérieur des accolades dans l'ordre.

La première valeur sera remplacée par la première accolade vide, suivie de la suivante. Pour les arguments positionnels, l'index commencera à 0 et ainsi de suite. Les valeurs seront disponibles au format séparées par des virgules et le 0th value pointera vers la première valeur à l’intérieur du format et ainsi de suite.

Pour les arguments de mots-clés, c'est-à-dire lorsque vous utilisez une variable dans vos espaces réservés, vous pouvez avoir l'ordre des valeurs à l'intérieur du format selon vos besoins.

L'ordre n'a pas d'importance ici car les valeurs seront remplacées en fonction du nom de variable présent dans le format(). Voici quelques exemples d'utilisation d'espaces réservés à l'intérieur d'une chaîne comme étant vides, positionnels et utilisant des mots-clés ou des variables.

Exemple : espace réservé vide remplacé par une valeur de chaîne

Dans l'exemple ci-dessous, la chaîne comporte des accolades vides ({}). La valeur donnée au format sera remplacée entre les accolades ({}).

La valeur que nous voulons remplacer est une chaîne.

Exemple :

Utilisation du formatage de chaîne dans Python, nous voulons que les accolades ({}) soient remplacées par une chaîne de caractères. La valeur est donnée à format("Guru99"). À l'exécution, les accolades {} sont remplacées par Guru99, et vous obtiendrez la chaîne finale : Bienvenue à Guru99 tutoriels.

print ("Welcome to {} tutorials".format("Guru99"))

Sortie :

Welcome to Guru99 tutorials

Exemple : espace réservé vide remplacé par une valeur numérique

Dans l'exemple ci-dessous, nous souhaitons que la valeur numérique soit remplacée à l'intérieur de la chaîne d'origine. Les accolades ({}) sont ajoutées à l'endroit où vous avez besoin de la valeur numérique. Lors de son exécution, les accolades vides ({}) sont remplacées par la valeur numérique.

Exemple :

Vous pouvez également utiliser format() pour insérer des nombres dans votre chaîne. L'exemple montrera comment remplacer le Placeholder {} vide par le numéro 99 présent dans format().

print ("Welcome to Guru{} Tutorials".format("99"))

Sortie :

Welcome to Guru99 Tutorials

Exemple : utilisation d'arguments de variable ou de mot-clé dans l'espace réservé

Il est également possible d’utiliser des variables entre accolades, comme le montre l’exemple ci-dessous. Les variables sont définies dans format(). Par conséquent, lors de son exécution, la valeur attribuée à la variable est remplacée à l'intérieur de la chaîne d'origine.

Exemple :

Vous pouvez utiliser des variables entre accolades, par exemple {name} {num}. Les valeurs des variables name et num sont disponibles dans la fonction format, c'est-à-dire format(name=""Guru”, num="99"). Les valeurs attribuées à name et num seront remplacées dans {name} et {num}.

print ("Welcome to {name}{num} Tutorials".format(name="Guru", num="99"))

Sortie :

Welcome to Guru99 Tutorials

Exemple : Utilisation d'arguments d'index ou de position à l'intérieur de l'espace réservé

Les valeurs peuvent être remplacées à l'aide d'index tels que 0, 1, 2 à l'intérieur des espaces réservés. La valeur sera sélectionnée dans l'ordre du format(), comme indiqué dans l'exemple ci-dessous.

Exemple :

print ("Welcome to {0}{1} Tutorials".format("Guru","99"))

Sortie :

Welcome to Guru99 Tutorials

Exemple : Utilisation de plusieurs espaces réservés dans une chaîne

Dans cet exemple, nous allons utiliser plusieurs espaces réservés vides.

Exemple :

La chaîne utilisée dans l'exemple a plusieurs espaces réservés vides et chaque espace réservé fera référence à une valeur à l'intérieur de format() . La première valeur sera remplacée par le premier espace réservé et ainsi de suite.

print ("{} is {} new kind of {} experience!".format("Guru99", "totally","learning"))

Sortie :

Guru99 is totally new kind of learning experience!

Formatage à l'intérieur des espaces réservés

Vous avez vu qu'il est possible d'avoir Placeholder vide, avec une variable ou un index. Il est également possible que vous puissiez postuler Python Formatage de chaîne à l’intérieur de l’espace réservé.

Voici la liste des formats

Format Description Exemple
:d Il donnera la sortie au format décimal lorsqu'il est utilisé à l'intérieur de l'espace réservé print("The binary to decimal value is : {:d}".format(0b0011))

Sortie :

The binary to decimal value is  : 3
:b Il donnera la sortie au format binaire lorsqu'il sera utilisé à l'intérieur de l'espace réservé print("The binary value is : {:b}".format(500))

Sortie :

The binary value is : 111110100
:e Il donnera la sortie au format scientifique lorsqu'il est utilisé à l'intérieur de l'espace réservé, l'exposant e dans la sortie sera en minuscule. print("The scientific value is : {:e}".format(40))

Sortie :

The scientific format value is : 4.000000e+01
:E Il donnera le résultat au format scientifique lorsqu'il est utilisé à l'intérieur de l'espace réservé, l'exposant E dans le résultat sera en majuscule print("The scientific value is : {:E}".format(40))

Sortie :

The scientific value is : 4.000000E+01
:f Cela produira un format de nombre à virgule fixe. Par défaut, vous obtiendrez la sortie de n’importe quel nombre avec six décimales. Si vous avez besoin de 2 décimales maximum, utilisez-le comme. 2f c'est à dire. un point (.) devant 2f print("The value is : {:f}".format(40))

Sortie :

The value is  : 40.000000

Exemple : affichage de la sortie jusqu'à 2 décimales.

print("The value is : {:.2f}".format(40))

Sortie :

The value is: 40.00
:o Cela produira un format octal print("The value is : {:o}".format(500))

Sortie :

The value is  : 764
:x Cela affichera le format hexadécimal en minuscules print("The value is : {:x}".format(500))

Sortie :

The value is  : 1f4
:X Cela affichera le format hexadécimal en majuscule. print("The value is : {:X}".format(500))

Sortie :

The value is  : 1F4
:n Cela affichera le format numérique. print("The value is : {:n}".format(500.00))

Sortie :

The value is  : 500
:% Cela donnera le résultat sous forme de pourcentage.
Par défaut, il donnera 6 décimales pour le pourcentage de sortie. Si vous ne souhaitez aucune valeur décimale, vous pouvez utiliser un point avec 0, c'est-à-dire (: .0%).
print("The value is : {:%}".format(0.80))

Sortie :

The value is  : 80.000000%

Cet exemple montre comment ignorer les décimales en utilisant {:.0%} à l'intérieur de l'espace réservé.

print("The value is : {:.0%}".format(0.80))
Sortie :

The value is: 80%
:_ Cela affichera un trait de soulignement comme séparateur de milliers. Il est disponible à partir de python 3.6+. print("The value is {:_}".format(1000000))

Sortie :

The value is  : 1_000_000
:, Cela affichera une virgule comme séparateur de milliers print("The value is : {:,}".format(1000000))

Sortie :

The value is  : 1,000,000

La virgule (,) est ajoutée comme séparateur de milliers, comme indiqué dans le résultat.

: Cela ajoutera un espace avant tout nombre positif Cet exemple montre comment ajouter un espace ou un remplissage avant le nombre donné. Le chiffre 5 indique le nombre d'espaces souhaité avant le chiffre.

print("The value is: {:5}".format(40))

Sortie :

The value is:    40
:- Cela ajoutera un signe moins avant les nombres négatifs L'exemple montre comment obtenir la sortie avec un signe moins (-) avant le nombre en utilisant {:-}.

print("The value is: {:-}".format(-40))

Sortie :

The value is: -40
:+ Vous pouvez utiliser le signe plus pour indiquer que le nombre est positif L'exemple montre comment obtenir la sortie avec un signe plus (+) avant le nombre en utilisant {:+}.

print("The value is: {:+}".format(40))

Sortie :

The value is: +40
:= L'égal à est utilisé pour placer le signe +/- sur le côté gauche. L'exemple montre comment obtenir la sortie avec un signe plus (+/-) avant le signe égal à l'aide de {:=}.

print("The value is {:=}".format(-40))

Sortie :

The value is -40
:^ Cela centrera le résultat final L'exemple montre l'utilisation de {:^} pour centrer le texte. Le nombre 10 est utilisé pour ajouter 10 espaces pour afficher l'alignement central lorsque la valeur est remplacée.

print("The value {:^10} is positive value".format(40))

Sortie :

The value     40     is a positive value

Ici, vous pouvez utiliser 10 qui ajoutera 10 espaces dans le texte final, et la valeur à remplacer sera alignée au centre entre les 10 espaces. Les espaces de 10 sont ajoutés uniquement pour afficher l'alignement central de la valeur remplacée.

:> Cela alignera à droite le résultat final L'espace de 10 est ajouté à l'aide de (:>10) et la valeur remplacée est alignée à droite.

print("The value {:>10} is positive value".format(40))

Sortie :

The value         40 is positive value
:< Cela alignera à gauche le résultat final L'espace de 10 est ajouté à l'aide de (:<10) et la valeur remplacée est alignée à gauche.

print("The value {:<10} is positive value".format(40))

Sortie :

The value 40         is positive value

Utiliser une classe avec format()

Dans cet exemple, nous créons une classe et utilisons l'objet de la classe à l'intérieur du .format Python méthode. Les espaces réservés feront référence aux propriétés de classe ou aux membres utilisant l'objet de classe.

Exemple :

La classe est appelée à l'intérieur du format (c=MyClass()). L'objet c aura la référence aux propriétés et méthodes à l'intérieur de la classe MyClass().

class MyClass:
    msg1="Guru"
    msg2="Tutorials"   

print("Welcome to {c.msg1}99 {c.msg2}!".format(c=MyClass()))

Sortie :

Welcome to Guru99 Tutorials!

Utiliser un dictionnaire avec format()

Il est également possible d'utiliser un dictionnaire dans format() comme le montre l'exemple ci-dessous :

my_dict = {'msg1': "Welcome", 'msg2': 'Guru99'}
print("{m[msg1]} to {m[msg2]} Tutorials!".format(m=my_dict))

Sortie :

Welcome to Guru99 Tutorials!

Substitutions de variables de remplissage

En utilisant la méthode string.format(), vous pouvez ajouter du remplissage et de l'espace en utilisant des espaces réservés à l'intérieur de votre chaîne.

Exemple :

Dans l'exemple ci-dessous, nous ajouterons de l'espace à l'intérieur de l'espace réservé en utilisant le format(). Pour ajouter de l'espace, vous devez spécifier le nombre d'espaces entre accolades après les deux points (:). L'espace réservé ressemblera donc à {:5}.

print("I have {:5} dogs and {:5} cat".format(2,1))

Sortie :

I have     2 dogs and     1 cat

Vous pouvez également donner l'index à l'intérieur de l'espace réservé, par exemple : {0:5} où 0 fera référence à la première valeur à l'intérieur du format.

print("I have {0:5} dogs and {1:5} cat".format(2,1))

Sortie :

I have     2 dogs and     1 cat

FAQ

f-strings, ajoutés dans Python 3.6 permet d'intégrer directement des expressions et s'exécute généralement plus rapidement. La méthode `format()` fonctionne toujours sur les versions plus anciennes. Python versions et lorsque le modèle provient d'une variable, d'un fichier ou d'une entrée utilisateur.

L'opérateur % utilise des symboles de type printf, tels que %s et %d, tandis que la fonction format() utilise des accolades pour représenter les noms, les indices et des spécificateurs plus riches. Sa gestion plus claire du réordonnancement et de la mise en page explique pourquoi format() a remplacé % dans le code moderne.

Double les bretelles pour leur échapper. Merciping Deux accolades ouvrantes impriment une accolade littérale, et deux accolades fermantes impriment une accolade fermante ; un espace réservé réel fonctionne donc toujours aux côtés des accolades littérales à l’intérieur de la même chaîne de modèle.

L'absence d'une valeur positionnelle provoque une erreur IndexError, tandis que l'absence d'un mot-clé ou d'un nom de dictionnaire provoque une erreur KeyError. Il est possible de transmettre plus de valeurs que d'espaces réservés ; les valeurs supplémentaires sont simplement ignorées. Ainsi, seules les références manquantes, et non les références excédentaires, entraînent une erreur.

La méthode format() fonctionne dans Python 2.6 et chaque Python Version 3. La numérotation automatique des champs, où les accolades restent vides au lieu d'écrire {0} {1}, nécessite Python 2.7 ou 3.1 et versions ultérieures.

Non. Python Les chaînes de caractères étant immuables, la fonction `format()` construit et renvoie une nouvelle chaîne sans modifier le modèle. Pour conserver le texte formaté et l'utiliser ultérieurement, assignez le résultat à une variable, par exemple `message = template.format(value)`.

Le code d'apprentissage automatique utilise la fonction `format()` pour générer des journaux lisibles, créer des modèles d'invites pour les modèles de langage et afficher des métriques telles que la précision avec un nombre fixe de décimales. Un formatage clair facilite la comparaison des expériences et des rapports de modèles.

Oui. GitHub Copilot complète automatiquement les appels à `format()` et leurs spécificateurs à partir d'un court commentaire décrivant le résultat souhaité. Les assistants IA d'Agentic vont plus loin : ils convertissent `format()` en chaînes de caractères (f-strings), corrigent l'alignement et exécutent vos tests automatiquement.

Résumez cet article avec :