Je comprends que nous devrions utiliser %s
pour concaténer une chaîne plutôt qu'en +
Python.
Je pourrais faire n'importe lequel de:
hello = "hello"
world = "world"
print hello + " " + world
print "%s %s" % (hello, world)
print "{} {}".format(hello, world)
print ' '.join([hello, world])
Mais pourquoi devrais-je utiliser autre chose que le +
? Il est plus rapide d’écrire une concaténation simple +
. Ensuite, si vous regardez la chaîne de formatage, vous spécifiez les types, par exemple %s
, %d
et autres. Je comprends qu'il pourrait être préférable d’être explicite sur le type.
Mais ensuite, j'ai lu que l'utilisation +
de la concaténation devrait être évitée même s'il est plus facile de taper. Existe-t-il une raison claire pour que les chaînes soient concaténées de l'une de ces manières?
%s
est pas concaténation, il est une spécification de conversion pour la mise en forme de chaîne dérivée de C de printf(3)
. Il existe des cas d'utilisation de cet opérateur ou d'un opérateur de concaténation; que vous utilisez doit être basé sur le jugement de la situation, pas de dogme. Comme il est facile d'écrire le code, cela n'a aucune importance, car vous ne le ferez qu'une fois.
print(f"{hello} {world}")
, a la lisibilité de la concaténation puisque les variables sont vues là où elles apparaissent dans la chaîne, et est plus rapide que str.format
.