Maison > développement back-end > Tutoriel Python > Comment Python réalise-t-il une interpolation de chaîne similaire à la syntaxe #{} de Ruby ?

Comment Python réalise-t-il une interpolation de chaîne similaire à la syntaxe #{} de Ruby ?

Mary-Kate Olsen
Libérer: 2024-11-07 04:40:02
original
573 Les gens l'ont consulté

How does Python Achieve String Interpolation Similar to Ruby's #{} Syntax?

L'équivalent Python de l'interpolation de chaîne 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}."
Copier après la connexion

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}.")
Copier après la connexion

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()))
Copier après la connexion

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"))
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal