J'ai une chaîne de cette forme
s='arbit'
string='%s hello world %s hello world %s' %(s,s,s)
Tous les% s de la chaîne ont la même valeur (ie s). Y a-t-il une meilleure façon d'écrire cela? (Plutôt que de lister trois fois)
%
opérateur de chaîne sera "obsolète sur Python 3.1 et supprimé plus tard à un moment donné" docs.python.org/release/3.0.1/whatsnew/ ... maintenant je me demande quel est le moyen le plus conseillé pour la compatibilité de version et la sécurité.
str.format()
. Ex .: query = "SELECT * FROM {named_arg}"; query.format(**kwargs)
, où query
est la chaîne de format et kwargs
est un dictionnaire avec des clés correspondant au named_arg
s dans la chaîne de format.
{0}
, {1}
, {2}
etc. correspondent aux indices de tuples 0
, 1
, et 2
, respectivement. Alternativement, il est également possible de nommer les arguments (comme {named_arg}
) et de définir chacun dans la méthode de format, comme ceci:'Hi {fname} {lname}!'.format(fname='John', lname='Doe')