Interpolation de chaîne en Python
-
Interpolation de chaîne à l’aide du modulo (
%
) en Python -
Interpolation de chaîne à l’aide de la méthode
format()
en Python - Interpolation de chaîne à l’aide des chaînes formatées en Python
- Interpolation de chaîne à l’aide de la classe Template 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
Article connexe - Python String
- Supprimer les virgules de la chaîne en Python
- Comment vérifier qu'une chaîne est vide de manière pythonique
- Convertir une chaîne en nom de variable en Python
- Comment supprimer les espaces dans une chaîne de caractères en Python
- Comment extraire des nombres d'une chaîne de caractèresen Python
- Comment convertir une chaîne de caractères en datetime en Python