Maison > développement back-end > Tutoriel Python > Python a-t-il une interpolation de chaînes comme celle de Ruby ?

Python a-t-il une interpolation de chaînes comme celle de Ruby ?

Susan Sarandon
Libérer: 2024-11-30 04:27:15
original
959 Les gens l'ont consulté

Does Python Have String Interpolation Like Ruby's?

Python offre-t-il une interpolation de chaîne comparable à celle de Ruby ?

Dans Ruby, l'interpolation de chaîne permet l'insertion d'expressions dans des chaînes, améliorant ainsi la lisibilité du code. Un exemple d'interpolation de chaîne Ruby :

name = "Spongebob Squarepants"
puts "Who lives in a Pineapple under the sea? \n#{name}."
Copier après la connexion

Pour les développeurs Python, la concaténation de chaîne équivalente peut sembler verbeuse.

Interpolation de chaîne Python dans Python 3.6 et versions ultérieures

Heureusement, Python 3.6 introduit une interpolation de chaîne littérale similaire à celle de Ruby. Dans Python 3.6, les "f-strings" permettent l'inclusion d'expressions :

name = "Spongebob Squarepants"
print(f"Who lives in a Pineapple under the sea? {name}.")
Copier après la connexion

Alternatives pré-Python 3.6

Avant Python 3.6, considérez ces options :

  • Opérateur % : Utilisez l'opérateur % pour la chaîne interpolation. Le premier opérande est la chaîne à interpoler et le second peut inclure un « mappage » qui mappe les noms de champs aux valeurs. Un mappage peut être créé à l'aide de locals().
name = "Spongebob Squarepants"
print("Who lives in a Pineapple under the sea? %(name)s." % locals())
Copier après la connexion
  • Méthode .format() : Utilisez la méthode .format() pour interpoler des chaînes :
name = "Spongebob Squarepants"
print("Who lives in a Pineapple under the sea? {name!s}.".format(**locals()))
Copier après la connexion
  • string.Template Classe : Utiliser le string.Template classe pour l'interpolation de chaînes :
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