Concatenación de cadenas en Python

0 acciones
0
0
0
0

Introducción

La concatenación de cadenas es una operación muy común en programación. En Python, se puede realizar mediante diversos métodos. El objetivo de este tutorial es explorar las diferentes maneras de concatenar cadenas en un programa Python.

Concatenación de cadenas mediante el operador +

Esta es la forma más sencilla de concatenar cadenas. Veamos un ejemplo sencillo.

s1 = 'Apple'
s2 = 'Pie'
s3 = 'Sauce'
s4 = s1 + s2 + s3
print(s4)

Producción:  Salsa de pastel de manzana Veamos otro ejemplo en el que recibimos dos cadenas de la entrada del usuario y las concatenamos.

s1 = input('Please enter the first string:\n')
s2 = input('Please enter the second string:\n')
print('Concatenated String =', s1 + s2)

Producción:

Please enter the first string:
Hello
Please enter the second string:
World
Concatenated String = HelloWorld

Es muy fácil usar el operador + para concatenar cadenas. Sin embargo, los argumentos deben ser una cadena.

>>>'Hello' + 4
Traceback (most recent call last):
File "<input>", line 1, in 
TypeError: can only concatenate str (not "int") to str

Podemos usar la función str() para obtener la representación de cadena de un objeto. Veamos cómo concatenar una cadena con un entero u otro objeto.

print('Hello' + str(4))
class Data:
id = 0
def __init__(self, i):
self.id = i
def __str__(self):
return 'Data[' + str(self.id) + ']'
print('Hello ' + str(Data(10)))

Producción:

Hello4
Hello Data[10]

El mayor problema con el operador + es que no podemos añadir un separador ni un delimitador entre cadenas. Por ejemplo, si necesitamos concatenar "Hola" y "Mundo" con un separador de espacios, debemos escribirlo como ""Hola" + " " + "Mundo"" Vamos a escribir.

Unir cadenas usando la función join()

Podemos usar la función join() para unir cadenas con un separador. Esto es útil cuando tenemos una secuencia de cadenas, por ejemplo, una lista o varias cadenas de cadenas. Si no desea un separador, use la función join() con una cadena vacía.

s1 = 'Hello'
s2 = 'World'
print('Concatenated String using join() =', "".join([s1, s2]))
print('Concatenated String using join() and whitespaces =', " ".join([s1, s2]))

Producción:

Concatenated String using join() = HelloWorld
Concatenated String using join() and spaces = Hello World

Concatenar cadenas utilizando el operador %

Podemos usar el operador % para formatear cadenas y también para concatenarlas. Es útil cuando queremos concatenar cadenas y realizar un formato simple.

s1 = 'Hello'
s2 = 'World'
s3 = "%s %s" % (s1, s2)
print('String Concatenation using % Operator =', s3)
s3 = "%s %s from JournalDev - %d" % (s1, s2, 2018)
print('String Concatenation using % Operator with Formatting =', s3)

Producción:

String Concatenation using % Operator = Hello World
String Concatenation using % Operator with Formatting = Hello World from JournalDev - 2018

Concatenar cadenas usando la función format()

También podemos utilizar la función string format() para concatenar cadenas y formatearlas.

s1 = 'Hello'
s2 = 'World'
s3 = "{}-{}".format(s1, s2)
print('String Concatenation using format() =', s3)
s3 = "{in1} {in2}".format(in1=s1, in2=s2)
print('String Concatenation using format() =', s3)

Producción:

String Concatenation using format() = Hello-World
String Concatenation using format() = Hello World

La función string format() de Python es muy poderosa, usarla solo para concatenar cadenas no es el uso correcto de la misma.

Concatenación de cadenas usando la cadena f

Si usa Python 3.6 o superior, también puede usar f-string para concatenar cadenas. Esta es una nueva forma de formatear cadenas, introducida en PEP 498: Interpolación de cadenas literales.

s1 = 'Hello'
s2 = 'World'
s3 = f'{s1} {s2}'
print('String Concatenation using f-string =', s3)
name = 'Pankaj'
age = 34
d = Data(10)
print(f'{name} age is {age} and d={d}')

Producción:

String Concatenation using f-string = Hello World
Pankaj age is 34 and d=Data[10]

La cadena f de Python es más clara y fácil de escribir que la función format(). También llama a la función str() cuando el argumento del objeto se usa como reemplazo de campo.

Resultado

El formato de cadenas en Python se puede realizar de varias maneras. Úselas según sus necesidades. Si necesita unir una secuencia de cadenas con un delimitador, utilice la función join(). Si también se requiere algún formato durante la concatenación, utilice la función format() o f-string. Tenga en cuenta que f-string es compatible con las versiones 3.6 y posteriores de Python.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

También te puede gustar