Comment échapper les accolades dans les f-Strings Python

PythonPythonBeginner
Pratiquer maintenant

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Les f-strings de Python, ou chaînes littérales formatées, offrent un moyen pratique d'intégrer des expressions dans des chaînes littérales. Cependant, lors de l'utilisation des f-strings, vous pourriez avoir besoin d'échapper les accolades. Ce tutoriel vous guidera tout au long du processus d'échappement des accolades dans les f-strings Python, et explorera également des techniques et des exemples avancés des f-strings.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL python(("Python")) -.-> python/BasicConceptsGroup(["Basic Concepts"]) python/BasicConceptsGroup -.-> python/strings("Strings") subgraph Lab Skills python/strings -.-> lab-415682{{"Comment échapper les accolades dans les f-Strings Python"}} end

Comprendre les f-Strings en Python

Les f-Strings, également connus sous le nom de chaînes littérales formatées, sont une fonctionnalité puissante introduite en Python 3.6. Elles vous permettent d'intégrer directement des expressions à l'intérieur de chaînes littérales, facilitant ainsi la création de chaînes dynamiques et faciles à lire.

Qu'est-ce que les f-Strings?

Les f-Strings sont une méthode de formatage de chaînes en Python qui vous permet d'intégrer directement des expressions à l'intérieur de la chaîne. Pour ce faire, il suffit de préfixer la chaîne par la lettre f ou F. À l'intérieur de la chaîne, vous pouvez ensuite utiliser des accolades {} pour encadrer les expressions que vous souhaitez inclure.

Voici un exemple :

name = "Alice"
age = 25
print(f"My name is {name} and I am {age} years old.")

Cela produira la sortie suivante :

My name is Alice and I am 25 years old.

Avantages des f-Strings

  • Lisibilité : Les f-Strings rendent votre code plus lisible et plus facile à comprendre, car les expressions sont directement intégrées dans la chaîne.
  • Flexibilité : Vous pouvez inclure n'importe quelle expression Python valide à l'intérieur des accolades, permettant ainsi un formatage de chaîne complexe.
  • Performances : Les f-Strings sont généralement plus rapides que d'autres méthodes de formatage de chaînes, telles que format() ou le formatage %.

Utilisation des f-Strings

Pour utiliser les f-Strings, il suffit de préfixer votre chaîne par la lettre f ou F, puis d'encadrer les expressions que vous souhaitez inclure dans des accolades {}.

x = 10
y = 20
print(f"The sum of {x} and {y} is {x + y}.")

Cela produira la sortie suivante :

The sum of 10 and 20 is 30.

Vous pouvez également utiliser les f-Strings pour formater des nombres, des dates et d'autres types de données :

import datetime

today = datetime.date.today()
print(f"Today's date is {today:%B %d, %Y}.")

Cela produira la sortie suivante :

Today's date is May 16, 2023.

Échapper les accolades dans les f-Strings

Lorsque vous utilisez les f-Strings, vous pourriez rencontrer des situations où vous devez inclure des accolades littérales {} dans votre chaîne. Cela peut être fait en doublant les accolades.

Échapper les accolades

Pour inclure une accolade littérale dans une f-String, vous devez utiliser deux accolades au lieu d'une. Cela indique à Python de traiter les accolades comme des caractères littéraux, plutôt que comme faisant partie d'une expression.

message = f"The {{key}} is the important part."
print(message)

Cela produira la sortie suivante :

The {key} is the important part.

Expressions imbriquées

Vous pouvez également utiliser des expressions imbriquées dans les f-Strings, mais vous devez faire attention à échapper correctement les accolades.

x = 10
y = 20
print(f"The sum of {{x}} and {{y}} is {x + y}.")

Cela produira la sortie suivante :

The sum of {x} and {y} is 30.

Dans cet exemple, les accolades externes {{x}} et {{y}} sont utilisées pour échapper les accolades littérales, tandis que les accolades internes {x + y} sont utilisées pour intégrer l'expression.

Échapper les accolades dans des chaînes plus longues

Si vous avez une chaîne plus longue avec plusieurs accolades, vous pouvez utiliser la même technique de doublement des accolades pour les échapper.

text = f"This is a {{sample}} string with {{multiple}} {{curly}} braces."
print(text)

Cela produira la sortie suivante :

This is a {sample} string with {multiple} {curly} braces.

En comprenant comment échapper correctement les accolades dans les f-Strings, vous pouvez vous assurer que votre formatage de chaîne fonctionne comme prévu, même lorsque vous devez inclure des accolades littérales dans votre sortie.

Techniques et exemples avancés des f-Strings

Au-delà de l'utilisation de base des f-Strings, il existe plusieurs techniques et fonctionnalités avancées qui peuvent vous aider à créer un formatage de chaînes plus puissant et flexible.

Formatage des expressions

Vous pouvez utiliser divers spécificateurs de formatage à l'intérieur des accolades pour contrôler l'apparence de la sortie. Par exemple, vous pouvez contrôler le nombre de décimales, aligner le texte ou ajouter des séparateurs de milliers.

price = 9.99
print(f"The price is ${price:.2f}")  ## Output: The price is $9.99
print(f"The price is ${price:>10.2f}")  ## Output: The price is       $9.99
print(f"The price is ${price:,}")  ## Output: The price is 9.99

Formatage conditionnel

Vous pouvez utiliser des expressions conditionnelles dans les f-Strings pour formater dynamiquement la sortie en fonction de certaines conditions.

age = 25
print(f"You are {'adult' if age >= 18 else 'minor'}")  ## Output: You are adult

Appel de fonctions

Vous pouvez appeler des fonctions dans les f-Strings pour effectuer des transformations plus complexes sur les données.

def format_name(first, last):
    return f"{last.upper()}, {first.capitalize()}"

name = format_name("john", "doe")
print(f"The person's name is {name}")  ## Output: The person's name is DOE, John

f-Strings multilignes

Les f-Strings peuvent également être utilisés pour créer des chaînes multilignes, ce qui peut être utile pour formater une sortie complexe.

person = {
    "name": "Alice",
    "age": 30,
    "city": "New York"
}

info = f"""
Name: {person['name']}
Age: {person['age']}
City: {person['city']}
"""
print(info)

Cela produira la sortie suivante :

Name: Alice
Age: 30
City: New York

En explorant ces techniques avancées des f-Strings, vous pouvez créer un formatage de chaînes plus sophistiqué et dynamique dans votre code Python.

Résumé

Dans ce tutoriel, vous avez appris à échapper correctement les accolades dans les f-strings Python. En comprenant les techniques et les exemples présentés, vous pouvez désormais utiliser avec confiance les f-strings dans vos projets de programmation Python, y compris la capacité de gérer les expressions entre accolades. Cette connaissance vous aidera à écrire un code plus efficace et plus lisible, améliorant ainsi vos compétences globales en programmation Python.