Accéder au contenu principal

Tutoriel Python String format()

Découvrez le formatage des chaînes de caractères en Python.
Actualisé 16 janv. 2025  · 5 min de lecture

Le formatage des chaînes de caractères est également connu sous le nom d'interpolation des chaînes de caractères. Il s'agit d'insérer une chaîne ou une variable personnalisée dans un texte prédéfini.

custom_string = "String formatting"
print(f"{custom_string} is a powerful technique")
String formatting is a powerful technique

En tant que scientifique des données, vous l'utiliserez pour insérer un titre dans un graphique, afficher un message ou une erreur, ou transmettre une instruction à une fonction.

Méthodes de formatage

  • Formatage positionnel
  • Chaînes de caractères formatées
  • Méthode des modèles

Méthode String.Format

Nous plaçons des espaces réservés définis par une paire d'accolades dans un texte. Nous appelons la méthode de formatage des points de la chaîne de caractères. Ensuite, nous transmettons la valeur souhaitée à la méthode. La méthode remplace les caractères génériques en utilisant les valeurs dans l'ordre d'apparition de replace by value :

'text{}'.format(value)

Formatage positionnel

Nous définissons une chaîne de caractères et insérons deux espaces réservés. Nous transmettons deux chaînes à la méthode, qui seront utilisées pour obtenir le résultat suivant :

print("Machine learning provides {} the ability to learn {}".format("systems", "automatically"))
Machine learning provides systems the ability to learn automatically

Nous pouvons utiliser des variables à la fois pour la chaîne et pour les valeurs transmises à la méthode. Dans l'exemple de code ci-dessous, nous définissons une chaîne de caractères avec des espaces réservés et deux autres variables. Nous appliquons la méthode de formatage à la chaîne en utilisant les deux variables définies. La méthode lit la chaîne de caractères et remplace les espaces réservés par les valeurs données.

my_string = "{} rely on {} datasets"
method = "Supervised algorithms"
condition = "labeled"
print(my_string.format(method, condition))
Supervised algorithms rely on labeled datasets

Réorganisation des valeurs

Dans l'exemple ci-dessous, vous ajoutez des numéros d'index dans les espaces réservés pour réorganiser les valeurs. Cela affecte l'ordre dans lequel la méthode remplace les espaces réservés.

La méthode les remplace par les valeurs dans l'ordre indiqué.

print("{} has a friend called {} and a sister called {}". format("Betty", "Linda", "Daisy"))
Betty has a friend called Linda and a sister called Daisy

Si nous ajoutons les numéros d'index, l'ordre de remplacement change en conséquence.

print("{2} has a friend called {0} and a sister called {1}". format("Betty", "Linda", "Daisy"))
Daisy has a friend called Betty and a sister called Linda

Nom des caractères de remplacement

Nous pouvons également introduire des arguments de type mot-clé qui sont appelés par leur nom de mot-clé.

Dans l'exemple de code ci-dessous, nous avons inséré des mots-clés dans les espaces réservés. Ensuite, nous appelons ces mots-clés dans la méthode de formatage. Nous déterminons ensuite la variable qui sera transmise pour chacune d'entre elles, ce qui donne le résultat suivant.

tool="Unsupervised algorithms"
goal="patterns"
print("{title} try to find {aim} in the dataset".format(title=tool, aim=goal))
Unsupervised algorithms try to find patterns in the dataset

Examinons ce code ci-dessous. Nous avons défini un dictionnaire dont les clés sont : outil et objectif.

my_methods = {"tool": "Unsupervised algorithms", "goal": "patterns"}

Nous voulons insérer leurs valeurs dans une chaîne de caractères. À l'intérieur des espaces réservés, nous pouvons spécifier la valeur associée à l'outil clé des données variables à l'aide de la notation entre crochets. Data est le dictionnaire spécifié dans la méthode, et tool est la clé présente dans ce dictionnaire.

print('{data[tool]} try to find {data[goal]} in the dataset'.format(data=my_methods))

Nous obtenons ainsi le résultat souhaité, illustré ci-dessous. Attention ! Vous devez spécifier l'index sans utiliser de guillemets.

Unsupervised algorithms try to find patterns in the dataset

Spécification du format

Nous pouvons également spécifier le format à l'intérieur des accolades. Il définit la manière dont les valeurs individuelles sont présentées. Nous utiliserons ici le spécificateur syntaxique index-colonnes. L'un des spécificateurs de format les plus courants est le flotteur, représenté par f. Dans le code, nous spécifions que la valeur transmise avec l'index 0 sera un flottant.

print("Only {0:f}% of the {1} produced worldwide is {2}!". format(0.5155675, "data", "analyzed"))
Only 0.515567% of the data produced worldwide is analyzed!

Nous pourrions également ajouter .2f pour indiquer que nous voulons que le flottant ait deux décimales, comme on peut le voir dans la sortie résultante.

print("Only {0:.2f}% of the {1} produced worldwide is {2}!".format(0.5155675, "data", "analyzed"))
Only 0.52% of the data produced worldwide is analyzed!

Formatage datetime

Python dispose d'un module appelé datetime qui nous permet, par exemple, d'obtenir l'heure et la date d'aujourd'hui.

from datetime import datetime
print(datetime.now())
2020-08-08 06:28:42.715243

Mais comme le format retourné est très particulier, vous pouvez utiliser le spécificateur de format tel que %y-%m-%d-%h-%m pour ajuster le format à quelque chose de plus familier pour nous !

print("Today's date is {:%Y-%m-%d %H:%M}".format(datetime.now()))
Today's date is 2020-08-08 06:29

Exemple interactif

Dans l'exemple suivant, vous allez assigner les sous-chaînes allant du 4ème au 19ème caractère, et du 22ème au 44ème caractère de wikipedia_article aux variables first_pos et second_pos, respectivement. Ajustez les chaînes de caractères pour qu'elles soient en minuscules. Enfin, imprimez les variables first_pos et second_pos.

# Assign the substrings to the variables
first_pos = wikipedia_article[3:19].lower()
second_pos = wikipedia_article[21:44].lower()

Lorsque nous exécutons le code ci-dessus, nous obtenons le résultat suivant :

computer science artificial intelligence

Essayez-le vous-même.

Pour en savoir plus sur le formatage positionnel, consultez cette vidéo issue de notre cours, Expressions régulières en Python.

Ce contenu est extrait du cours Expressions régulières en Python de DataCamp par Maria Eugenia Inzaugarat.

Consultez notre tutoriel sur les chaînes de caractères en Python.

Sujets

Cours de Python

cours

Introduction to Python

4 hr
6M
Master the basics of data analysis with Python in just four hours. This online course will introduce the Python interface and explore popular packages.
Afficher les détailsRight Arrow
Commencer le cours
Voir plusRight Arrow
Apparenté

blog

2022-2023 Rapport annuel DataCamp Classrooms

À l'aube de la nouvelle année scolaire, DataCamp Classrooms est plus motivé que jamais pour démocratiser l'apprentissage des données, avec plus de 7 650 nouveaux Classrooms ajoutés au cours des 12 derniers mois.
Nathaniel Taylor-Leach's photo

Nathaniel Taylor-Leach

8 min

blog

Q2 2023 DataCamp Donates Digest

DataCamp Donates a offert plus de 20k bourses d'études à nos partenaires à but non lucratif au deuxième trimestre 2023. Découvrez comment des apprenants défavorisés et assidus ont transformé ces opportunités en réussites professionnelles qui ont changé leur vie.
Nathaniel Taylor-Leach's photo

Nathaniel Taylor-Leach

blog

Les 32 meilleures questions d'entretien sur AWS et leurs réponses pour 2024

Un guide complet pour explorer les questions d'entretien AWS de base, intermédiaires et avancées, ainsi que des questions basées sur des situations réelles. Il couvre tous les domaines, garantissant ainsi une stratégie de préparation bien équilibrée.
Zoumana Keita 's photo

Zoumana Keita

30 min

blog

Les 20 meilleures questions d'entretien pour les flocons de neige, à tous les niveaux

Vous êtes actuellement à la recherche d'un emploi qui utilise Snowflake ? Préparez-vous à répondre à ces 20 questions d'entretien sur le flocon de neige pour décrocher le poste !
Nisha Arya Ahmed's photo

Nisha Arya Ahmed

20 min

blog

Célébration de Saghar Hazinyar : Une boursière de DataCamp Donates et une diplômée de Code to Inspire

Découvrez le parcours inspirant de Saghar Hazinyar, diplômée de Code to Inspire, qui a surmonté les défis en Afghanistan et s'est épanouie grâce à une bourse de DataCamp Donates.
Fereshteh Forough's photo

Fereshteh Forough

4 min

blog

Nous avons fait don de bourses DataCamp Premium à un million de personnes, et ce n'est pas fini.

Réparties entre nos deux programmes d'impact social, DataCamp Classrooms et #DCDonates, les bourses offrent un accès illimité à tout ce que DataCamp Premium a à offrir.
Nathaniel Taylor-Leach's photo

Nathaniel Taylor-Leach

Voir plusVoir plus