Python 2.6 a introduit la str.format()
méthode avec une syntaxe légèrement différente de celle de l' %
opérateur existant . Quelle est la meilleure et pour quelles situations?
Ce qui suit utilise chaque méthode et a le même résultat, alors quelle est la différence?
#!/usr/bin/python sub1 = "python string!" sub2 = "an arg" a = "i am a %s" % sub1 b = "i am a {0}".format(sub1) c = "with %(kwarg)s!" % {'kwarg':sub2} d = "with {kwarg}!".format(kwarg=sub2) print a # "i am a python string!" print b # "i am a python string!" print c # "with an arg!" print d # "with an arg!"
De plus, quand le formatage des chaînes se produit-il en Python? Par exemple, si mon niveau de journalisation est défini sur ÉLEVÉ, vais-je quand même prendre un coup pour effectuer l'
%
opération suivante ? Et si oui, existe-t-il un moyen d'éviter cela?log.debug("some debug info: %s" % some_info)
%
style plus ancien plus souvent, car si vous n'avez pas besoin des capacités améliorées du format()
style, le %
style est souvent beaucoup plus pratique.
format()
style mise en forme et plus à %
base de style de formatage .