Accéder au contenu principal

Formatage de chaînes de caractères en Python

Découvrez la technique de formatage des chaînes f dans Python 3.6. Dans ce tutoriel, vous découvrirez les avantages qu'il offre et vous passerez en revue quelques exemples d'utilisation.
Actualisé 14 nov. 2024  · 5 min de lecture

1. Introduction

Qu'est-ce que la mise en forme des chaînes de caractères ?

Le formatage des chaînes de caractères consiste à concevoir votre chaîne de façon attrayante à l'aide des techniques de formatage fournies par le langage de programmation concerné. Nous disposons de différentes techniques de formatage de chaînes de caractères en Python. Nous allons maintenant explorer la nouvelle technique de formatage des chaînes f.

f-string s'évalue au moment de l'exécution du programme. C'est rapide par rapport aux méthodes précédentes.

f-string a une syntaxe simple par rapport aux techniques précédentes de formatage de chaînes de Python. Nous explorerons tous les aspects de cette mise en forme à l'aide de différents exemples.

Exécutez et modifiez le code de ce tutoriel en ligne

Exécuter le code

1.1. Syntax

Chaque instruction f-string se compose de deux parties, l'une est le caractère f ou F, et l'autre est une chaîne de caractères que nous voulons formater. La chaîne sera entourée de guillemets simples, doubles ou triples.

Voyons la syntaxe.

## we can also use F, '', ''''', """"""'
f"string"

A la place de la chaîne, nous devons placer notre phrase qui va être formatée.

2. Affichage des variables

Nous avons déjà utilisé la méthode str.format() pour formater les chaînes de caractères. Mais les temps ont changé et nous disposons d'une nouvelle méthode pour que nos efforts soient deux fois plus rapides.

Les variables contenues dans les accolades { } sont affichées dans la sortie comme dans une instruction d'impression normale. Prenons un exemple.

## declaring variables
name = "Datacamp"
type_of_company = "Educational"

## enclose your variable within the {} to display it's value in the output
print(f"{name} is an {type_of_company} company.")
Datacamp is an Educational company.

Nous avons obtenu les valeurs des variables dans la sortie. Vous voyez, c'est facile. Nous pouvons également remplacer le f par F.

## declaring variables
name = "Datacamp"
type_of_company = "Educational"

## enclose your variable within the {} to display it's value in the output
print(F"{name} is an {type_of_company} company.")
Datacamp is an Educational company.

f est soit inférieur, soit supérieur, cela fonctionnera de la même manière.

3. Expressions

Et si nous pouvions évaluer des expressions telles que l'arithmétique, les appels de fonction, etc. dans une chaîne de caractères ? C'est cool, hein ! Oui ! Il est très, très excitant d'utiliser des expressions à l'intérieur d'une chaîne. f-string nous permet d'évaluer des expressions à l'intérieur d'une chaîne.

Il suffit de placer l'expression à l'intérieur de { } pour l'évaluer. f-string l'évalue au moment de l'exécution du programme. Il s'agit d'une excellente fonctionnalité qui vous permet d'économiser du temps et du code.

Voyons des exemples des différents types d'expressions.

## arithmetic expression
print(f"{5 * 5}")
25

Nous pouvons également appeler des fonctions à l'intérieur des { }. Définissons une fonction greet() et appelons-la dans la chaîne f

def greet(name):
    return "Hello, " + name
## calling the function using f-string
name = "Datacamp"
print(f"{greet(name)}")
Hello, Datacamp

De la même manière, nous pouvons également appeler les méthodes prédéfinies. Voyons ce qu'il en est.

## calling the 'title' method which makes the first letter of every word upper
string = "datacamp is an educational company."
print(f"{string.title()}")
Datacamp Is An Educational Company.

Que peut-on faire d'autre avec la chaîne f? Pouvons-nous afficher l'objet ? Oui, nous le pouvons. C'est la même chose que lorsque nous montrons la sortie des variables.

class Sample:

    def __init__(self, name, age):
        self.name = name
        self.age = age

    ## this method will be called when we print the object
    def __str__(self):
        return f'{self.name} is {self.age} years old.'
john = Sample("John", 19)

## it'll wake up the __str__() method
print(f"{john}")
John is 19 years old.

4. Caractères spéciaux

Que faire si nous voulons afficher des caractères spéciaux comme {}, \', \' ?, qui sont utilisés en interne par Python pour une signification particulière. Peut-on utiliser un caractère d'échappement à l'intérieur de la chaîne f? Voyons les réponses à ces questions.

4.1. Quotations

Nous pouvons utiliser n'importe quel guillemet {simple ou double ou triple} dans la chaîne f. Nous devons utiliser le caractère d'échappement pour imprimer les guillemets. L'expression f-string ne nous permet pas d'utiliser la barre oblique inverse. Nous devons le placer à l'extérieur du { }.

Voyons cela à l'aide d'exemples.

name = "Datacamp"

## displaying single quotations
print(f"Hello, \'{name}\'")

print()

## displaying double quotations
print(f"Hello, \"{name}\"")
Hello, 'Datacamp'

Hello, "Datacamp"

Voyons d'autres types de citations dans les chaînes f.

f'{"Hello, Datacamp"}'
'Hello, Datacamp'
f"{'Hello, Datacamp'}"
'Hello, Datacamp'
f"""Hello, Datacamp"""
'Hello, Datacamp'
f'''Hello, Datacamp'''
'Hello, Datacamp'

Nous pouvons également inclure { } à l'intérieur des trois guillemets.

Vous ne pouvez pas utiliser les barres obliques inversées à l'intérieur des { } dans f-string. Vous obtiendrez une erreur s'ils sont inclus à l'intérieur de { }.

print(f"{\"Datacamp\"}")
  File "<ipython-input-60-b9a2502d6274>", line 1
    print(f"{\"Datacamp\"}")
         ^
SyntaxError: f-string expression part cannot include a backslash

4.2. Appareils dentaires

Nous devons utiliser un double jeu d'accolades pour imprimer les accolades à l'aide de f-string. Prenons un exemple.

print(f"{{Datacamp}}")
{Datacamp}

Si vous souhaitez afficher deux séries d'accolades à l'aide de f-string, vous devez utiliser quatre séries d'accolades.

print(f"{{{{Datacamp}}}}")
{{Datacamp}}

5. Dictionnaires

Nous devons être un peu prudents lorsque nous manipulons des clés de dictionnaire à l'intérieur de la chaîne f. Vous devez utiliser une citation différente pour la clé du dictionnaire et la chaîne f. Vous n'êtes pas autorisé à utiliser les mêmes citations pour une clé de dictionnaire que s'il s'agissait d'une chaîne f.

person = {"name": "John", "age": 19}
print(f"{person['name']} is {person['age']} years old.")
John is 19 years old.

Vous n'êtes pas autorisé à l'utiliser comme suit dans le cas des dictionnaires.

person = {"name": "John", "age": 19}
print(f'{person['name']} is {person['age']} years old.')
  File "<ipython-input-65-6849ff0810ae>", line 2
    print(f'{person['name']} is {person['age']} years old.')
                        ^
SyntaxError: invalid syntax

Conclusion

J'espère que vous apprendrez quelque chose de nouveau en Python en lisant ce tutoriel. Pour en savoir plus sur les chaînes de caractères et les techniques de formatage précédentes, consultez ce tutoriel sur DataCamp. Consultez également le cours de DataCamp sur les expressions régulières en Python.

Bon codage :)

Sujets

Cours de Python

Certification disponible

cours

Introduction à Python

4 hr
5.6M
Maîtrisez les bases de l'analyse de données avec Python en seulement quatre heures. Ce cours en ligne vous présentera l'interface Python et explorera les packages populaires.
Afficher les détailsRight Arrow
Commencer Le Cours
Voir plusRight Arrow