Existe-t-il un équivalent Python de l'interpolation de chaînes de caractères de Ruby ?
Exemple de Ruby :
name = "Spongebob Squarepants"
puts "Who lives in a Pineapple under the sea? \n#{name}."
Alors que je pourrais réussir à utiliser la concaténation de chaînes de caractères en Python, cela me semble bien verbeux quand je viens de Ruby.
Mise à jour : Le problème a été résolu en utilisant le .format
que l'on trouve dans Python 2.6 et plus. Ce n'est cependant pas la seule méthode. D'autres sont a expliqué de manière éloquente par Sven Marnach .
Un exemple (merci à EinLama ) :
"my {0} string: {1}".format("cool", "Hello there!")
Sortie :
'my cool string: Hello there!"
2 votes
Le problème ici est que
name
est une variable locale se trouvant dans la chaîne, et en Python vous devez explicitement passer le dictionnaire des variables locales au formateur de chaîne si vous voulez qu'il les utilise.0 votes
Ce n'était pas le problème initial, mais merci. Votre commentaire m'a permis de mieux comprendre la portée des variables (un sujet sur lequel j'ai encore des progrès à faire) :)
1 votes
Que pensez-vous de celui-ci ? stackoverflow.com/questions/16504732/
0 votes
PEP 215 -- Interpolation de chaînes de caractères - Remplacé par python.org/dev/peps/pep-0292
2 votes
Ver stackoverflow.com/a/33264516/55721 pour cette fonctionnalité exacte en 3.6