Interpolation de chaîne en Python

Vaibhav Vaibhav 10 octobre 2023
  1. Interpolation de chaîne à l’aide du modulo (%) en Python
  2. Interpolation de chaîne à l’aide de la méthode format() en Python
  3. Interpolation de chaîne à l’aide des chaînes formatées en Python
  4. Interpolation de chaîne à l’aide de la classe Template en Python
Interpolation de chaîne en Python

L’interpolation de chaîne fait référence à la technique d’insertion de valeurs de variables à la place d’espaces réservés dans une chaîne. En utilisant l’interpolation de chaîne, on peut insérer dynamiquement des valeurs à l’intérieur d’une chaîne.

En Python, il existe quatre façons d’effectuer une interpolation de chaîne, à savoir la méthode modulo (%), la méthode format(), les chaînes formatées et la classe de modèle. Dans cet article, nous allons découvrir en détail ces méthodes.

Interpolation de chaîne à l’aide du modulo (%) en Python

Nous pouvons utiliser le modulo (%) pour formater les chaînes en Python. Cette approche est similaire au printf() dans le langage de programmation C.

Voici les espaces réservés que nous pouvons utiliser à l’intérieur des chaînes pour le formatage.

%d = Integer
%f = Float
%s = String
%x = Hexadecimal
%o = Octal

Notez qu’il est nécessaire de placer un caractère modulo avant les caractères à l’intérieur des chaînes pour être considérés comme des espaces réservés. Voici la syntaxe pour utiliser modulo (%).

"<string with placeholders>" % ( < comma separated values or variables > )

Maintenant, nous en avons fini avec une brève introduction; comprenons comment utiliser ce concept de manière pratique à l’aide de quelques exemples. Reportez-vous au code Python suivant pour cela.

a = 2000
b = "Hi"
c = "Python"
d = True
e = 3.14
print("%d + 1000 = 3000" % (a))
print("%s is a web framework written in %s" % ("Django", c))
print("[%d, %s, %s, %s, %f]" % (a, b, c, d, e))
print("%s! My favourite programming language is %s" % (b, c))
print("The value of PI or π: %f" % (e))

Production :

2000 + 1000 = 3000
Django is a web framework written in Python
[2000, Hi, Python, True, 3.140000]
Hi! My favourite programming language is Python
The value of PI or π: 3.140000

Notez comment les espaces réservés sont utilisés à l’intérieur des chaînes pour le formatage et quel espace réservé est utilisé pour quel type de valeur.

Interpolation de chaîne à l’aide de la méthode format() en Python

La méthode format() peut être utilisée pour formater des chaînes en Python. Cette méthode est similaire à la précédente mais ici, {} agit comme un espace réservé pour chaque type de valeur.

Voici la syntaxe de la méthode format().

"<string with placeholdes>".format( < comma separated values and variables > )

Reportez-vous au code Python suivant pour mieux comprendre ce concept à l’aide d’exemples pertinents.

a = 2000
b = "Hi"
c = "Python"
d = True
e = 3.14
print("{} + 1000 = 3000".format(a))
print("{} is a web framework written in {}".format("Django", c))
print("[{}, {}, {}, {}, {}]".format(a, b, c, d, e))
print("{}! My favourite programming language is {}".format(b, c))
print("The value of PI or π: {}".format(e))

Production :

2000 + 1000 = 3000
Django is a web framework written in Python
[2000, Hi, Python, True, 3.14]
Hi! My favourite programming language is Python
The value of PI or π: 3.14

Interpolation de chaîne à l’aide des chaînes formatées en Python

Les chaînes formatées sont des chaînes uniques en Python. Lorsqu’elles sont précédées d’un caractère f, les chaînes normales sont des chaînes formatées.

Les chaînes formatées sont également appelées f-strings. Ces chaînes sont utilisées pour insérer dynamiquement des représentations sous forme de chaîne de variables et d’objets à l’intérieur de chaînes.

Nous pouvons ajouter {} à l’intérieur des chaînes, et à l’intérieur de ces blocs, nous pouvons ajouter des variables ou une logique qui renvoient une valeur.

Voici la syntaxe des chaînes formatées.

f"{<variable>} {<variable>} {<variable>}"

Comprenons ce concept en utilisant quelques exemples pertinents. Reportez-vous au code Python suivant pour la même chose.

def hello():
    return "Hello"


a = 2000
b = "Hi"
c = "Python"
d = True
e = 3.14
print(f"{a} + 1000 = 3000")
print(f"Django is a web framework written in {c}")
print(f"[{a}, {b}, {c}, {d}, {e}]")
print(f"{hello()}! My favourite programming language is {c}")
print(f"The value of PI or π: {e}")
print(f"1000 + 2000 = {1000 + 2000}")
print(f"10 * 20 - 25 = {10 * 20 - 25}")

Production :

2000 + 1000 = 3000
Django is a web framework written in Python
[2000, Hi, Python, True, 3.14]
Hello! My favourite programming language is Python
The value of PI or π: 3.14
1000 + 2000 = 3000
10 * 20 - 25 = 175

Interpolation de chaîne à l’aide de la classe Template en Python

Python a un module intégré, string, une classe Template qui nous permet de créer des chaînes dynamiques. En utilisant cette méthode, nous pouvons effectuer des substitutions basées sur $.

Par exemple, pour la chaîne Hello $name, name est une variable, et nous pouvons fournir une valeur pour cette variable. On peut utiliser le substitute() de la classe Template pour substituer des valeurs.

Cette méthode accepte un dictionnaire, où les variables de la chaîne de modèle sont des clés et elles pointent vers des valeurs. Au lieu d’utiliser un dictionnaire, nous pouvons également fournir des arguments de mots clés.

Notez que l’interpréteur Python lancera une KeyError si la clé n’est pas trouvée. Pour éviter cela, on peut soit s’assurer que les clés requises existent dans le dictionnaire, soit utiliser la méthode safe_substitute() pour laisser la chaîne inchangée pour cet espace réservé.

Maintenant que nous en avons fini avec une partie de la théorie, comprenons ce concept à l’aide de quelques exemples pertinents. Reportez-vous au code Python suivant pour la même chose.

from string import Template


def pi():
    return 3.14


t1 = Template("$a + 1000 = 3000")
t2 = Template("$package is a web framework written in $language")
t3 = Template("$greeting! My favourite programming language is $language")
t4 = Template("[$a, $b, $c, $d, $e]")
t5 = Template("The value of PI or π: $pi")
print(t1.substitute({"a": 2000}))
print(t2.substitute({"package": "Flask", "language": "Python"}))
print(t3.substitute({"greeting": "Hey", "language": "Python"}))
print(t4.substitute(a=2000, b="Hi", c="Python", d=True, e=999.909))
print(t5.substitute(pi=pi()))

Production :

2000 + 1000 = 3000
Flask is a web framework written in Python
Hey! My favourite programming language is Python
[2000, Hi, Python, True, 999.909]
The value of PI or π: 3.14

Reportez-vous au code Python suivant pour utiliser la méthode safe_substitute().

from string import Template


def pi():
    return 3.14


t1 = Template("$a + 1000 = 3000")
t2 = Template("$package is a web framework written in $language")
t3 = Template("$greeting! My favourite programming language is $language")
t4 = Template("[$a, $b, $c, $d, $e]")
t5 = Template("The value of PI or π: $pi")
print(t1.safe_substitute({}))
print(t2.safe_substitute({"package": "Flask"}))
print(t3.safe_substitute({"language": "Python"}))
print(t4.safe_substitute(c="Python", d=True, e=999.909))
print(t5.safe_substitute())

Production :

$a + 1000 = 3000
Flask is a web framework written in $language
$greeting! My favourite programming language is Python
[$a, $b, Python, True, 999.909]
The value of PI or π: $pi
Vaibhav Vaibhav avatar Vaibhav Vaibhav avatar

Vaibhav is an artificial intelligence and cloud computing stan. He likes to build end-to-end full-stack web and mobile applications. Besides computer science and technology, he loves playing cricket and badminton, going on bike rides, and doodling.

Article connexe - Python String