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:
print 'Hi {}'.format(name)
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
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
Vous devez vous connecter pour publier un commentaire.
Il n'y a pas vraiment de différence entre les deux chaînes de caractères mise en forme des solutions.
{}
est généralement dénommée "nouveau style" et%s
est "la vieille mise en forme de chaîne", mais vieux style de formatage n'est pas pour demain.Le nouveau style de mise en forme n'est pas pris en charge partout, pourtant si:
Néanmoins, je vous recommande d'utiliser
.format
. Il est plus complet, mais il n'y a pas une énorme différence de toute façon.C'est surtout une question de goût personnel.
OriginalL'auteur Thomas Orozco
J'utilise le "vieux style", donc je peux récursive de construire des chaînes de caractères avec des chaînes. Envisager...
...ce qui représente tout possible de la chaîne de combinaison que vous pouvez avoir. Quand je suis en train de construire une chaîne de sortie de la N de la taille des entrées, le ci-dessus me permet de manière récursive aller en bas de chaque racine et retour jusqu'.
Un exemple d'utilisation est ma Requête de Recherche de tests (Quality Assurance). En commençant par
%s
je peux faire quelque possible de requête./.02
OriginalL'auteur blakev