98 votes

python voie de l'imprimerie: Avec "format" ou en pourcentage la forme?

en python, il semble y avoir deux façons de générer formaté impressions:

user = "Alex"
number = 38746
print("%s asked %d questions on stackoverflow.com"%(user, number))
print("{0} asked {1} questions on stackoverflow.com".format(user, number))

Est-il une façon d'être préféré aux autres? Sont-ils équivalents, quelle est la différence? Ce formulaire doit être utilisé, en particulier pour python3?

Toutes mes excuses si cette question a déjà été posée, mais je n'ai pas la voir.

108voto

BrenBarn Points 63718

Utiliser l' format méthode, surtout si vous êtes inquiet à propos de Python 3 et de l'avenir. À partir de la documentation:

Les opérations de mise en forme décrit ici [% substitutions] sont obsolètes et peut aller loin dans les futures versions de Python. L'utilisation de la nouvelle Chaîne de Formatage dans le nouveau code.

25voto

gnibbler Points 103484

.format a été introduit en Python2.6

Si vous avez besoin de compatibilité ascendante avec les anciennes Python, vous devez utiliser %

Pour Python3 et plus récents, vous devez utiliser .format pour sûr

.format est plus puissant que l' %. Le portage % de .format est facile mais l'inverse peut être non trivial

8voto

riamse Points 171

Les docs disent que l' format méthode est préférable pour le nouveau code. Il y a actuellement aucun plan pour supprimer % mise en forme, cependant.

8voto

DamnDev Points 161

Vous pouvez utiliser les deux .Personne n'a dit % mise en forme de l'expression est obsolète.Toutefois,comme indiqué précédemment, le format de l'appel de méthode est un peu plus puissant. Notez également que l' % des expressions peu plus concis et plus facile à coder.Essayez et voyez ce qui vous convient le mieux

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