158 votes

Formatage de chaîne de paramètres nommés?

Je sais que la question est très simple, mais je ne sais pas comment la rechercher sur Google.

Comment puis-je faire

 print '<a href="%s">%s</a>' % (my_url)
 

Alors que my_url est utilisé deux fois? Je suppose que je dois "nommer" le %s puis utiliser un dict dans les paramètres, mais je ne suis pas sûr de la syntaxe appropriée?


Juste pour votre information, je sais que je peux juste utiliser my_url deux fois dans les paramètres, mais ce n'est pas la question :)

236voto

Ignacio Vazquez-Abrams Points 312628
print '<a href="%(url)s">%(url)s</a>' % {'url': my_url}

105voto

Greg Ball Points 970

En Python 3, vous pouvez choisir d'utiliser la nouvelle méthode de formatage de chaîne.

 print('<a href="{0}">{0}</a>'.format(my_url))
 

5voto

Mike Graham Points 22480

Pour créer des pages HTML, vous souhaitez utiliser un moteur de modélisation, et non une simple interpolation de chaîne.

2voto

Wallacoloo Points 2957

En plus du dictionnaire, il peut être utile de connaître le format suivant:

print '<a href="%s">%s</a>' % (my_url, my_url)

Ici, c’est un peu redondant, et le dictionnaire est certainement moins sujet aux erreurs lors de la modification du code, mais il est toujours possible d’utiliser des n-uplets pour plusieurs insertions. Le premier %s est substitué au premier élément du tuple, le second %s est remplacé au deuxième élément du tuple, et ainsi de suite pour chaque élément du tuple.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X