L'insertion de variables de chaîne de caractères dans l'impression en python

Je connais deux façons de formater une chaîne de caractères:

  1. print 'Hi {}'.format(name)
  2. print 'Hi %s' % name

Quelles sont les dis/avantages de l'utilisation de ce soit?

Je sais aussi que les deux peuvent gérer efficacement de nombreux paramètres comme

print 'Hi %s you have %d cars' % (name, num_cars)

et

print 'Hi {0} and {1}'.format('Nick', 'Joe')
double possible de Python mise en forme de chaîne: % contre .format
Il y a encore une autre façon de faire ce qui peut vous intéresser en utilisant le string.Template de classe. Je trouve la syntaxe plus lisible que la plaine % le formatage et la plupart des format'. Puisque c'est une classe que vous pouvez tirer vos propres sous-classes spécialisées.

OriginalL'auteur taronish4 | 2013-08-27