Entiendo que deberíamos usar %s
para concatenar una cadena en lugar de +
en Python.
Podría hacer cualquiera de:
hello = "hello"
world = "world"
print hello + " " + world
print "%s %s" % (hello, world)
print "{} {}".format(hello, world)
print ' '.join([hello, world])
Pero, ¿por qué debería usar algo más que el +
? Es más rápido escribir concatenación con un simple +
. Luego, si observa la cadena de formato, especifique los tipos, por ejemplo, %s
and %d
y such. Entiendo que podría ser mejor ser explícito sobre el tipo.
Pero luego leí que el uso +
para la concatenación debe evitarse aunque sea más fácil de escribir. ¿Existe una razón clara por la que las cadenas deben concatenarse de alguna de esas otras formas?
%s
no es para concatenación, es una especificación de conversión para el formato de cadenas derivado de C's printf(3)
. Hay casos para usar eso o un operador de concatenación; que utilices debe basarse en el juicio de la situación, no en el dogma. Lo fácil que es escribir el código es completamente irrelevante porque solo lo vas a hacer una vez.
print(f"{hello} {world}")
, tiene legibilidad de concatenación ya que las variables se ven donde ocurren en la cadena y es más rápido que str.format
.