Maison >développement back-end >Tutoriel Python >Comment Python réalise-t-il une interpolation de chaîne similaire à la syntaxe #{} de Ruby ?
Dans Ruby, l'interpolation de chaîne est réalisée à l'aide de la syntaxe #{}. Par exemple :
name = "Spongebob Squarepants" puts "Who lives in a Pineapple under the sea? \n#{name}."
Question : Existe-t-il un mécanisme comparable en Python pour interpoler des chaînes ?
Réponse :
À partir de Python 3.6, une syntaxe d'interpolation de chaînes a été introduite, ressemblant à l'interpolation #{} de Ruby. Dans Python 3.6 et versions ultérieures, la syntaxe f-strings permet d'incorporer des expressions dans des chaînes, comme suit :
name = "Spongebob Squarepants" print(f"Who lives in a Pineapple under the sea? {name}.")
Avant Python 3.6, l'opérateur % était couramment utilisé pour l'interpolation de chaînes. Le premier opérande est la chaîne à interpoler, tandis que le second peut être un « mappage » qui associe les noms de champs aux valeurs à interpoler.
Pour réaliser une interpolation de chaîne à l'aide de la méthode .format() de Python :
name = "Spongebob Squarepants" print("Who lives in a Pineapple under the sea? {name!s}.".format(**locals()))
Enfin, la classe string.Template propose une approche alternative :
tmpl = string.Template("Who lives in a Pineapple under the sea? $name.") print(tmpl.substitute(name="Spongebob Squarepants"))
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!