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
Susan Sarandonoriginal
2024-11-30 04:27:15895parcourir

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}."

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}.")

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())
  • 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()))
  • 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"))

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!

Déclaration:
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