¿Cómo añado una cadena a otra en Python?

Quiero una forma eficiente de añadir una cadena a otra en Python, que no sea la siguiente.

var1 = "foo"
var2 = "bar"
var3 = var1 + var2

¿Hay algún buen método incorporado para usar?

No optimice prematuramente. Si no tiene ninguna razón para creer que hay un cuello de botella de velocidad causado por las concatenaciones de cadenas, entonces siga con + y +=:

s  = 'foo'
s += 'bar'
s += 'baz'

Dicho esto, si quieres hacer algo como el StringBuilder de Java, el lenguaje canónico de Python es añadir elementos a una lista y luego usar str.join para concatenarlos todos al final:

l = []
l.append('foo')
l.append('bar')
l.append('baz')

s = ''.join(l)
Comentarios (3)
str1 = "Hello"
str2 = "World"
newstr = " ".join((str1, str2))

Eso une str1 y str2 con un espacio como separadores. También puede hacer "".join(str1, str2, ...). str.join() toma un iterable, por lo que tendría que poner las cadenas en una lista o una tupla.

Esto es lo más eficiente que se puede hacer con un método incorporado.

Comentarios (1)

Si necesitas hacer muchas operaciones de adición para construir una cadena grande, puedes usar StringIO o cStringIO. La interfaz es como un archivo, es decir, usted escribe para añadir texto a él.

Si sólo vas a añadir dos cadenas, usa +.

Comentarios (0)