Python
strings
Escrito por:
La concatenación de cadenas es el proceso de unir dos cadenas en una sola. La forma más sencilla de concatenar cadenas en Python es utilizando el método format string. Este método consiste en añadir la letra "f" antes de las comillas de la cadena, como en f"Hola mundo"
, y luego puedes concatenar variables colocándolas entre llaves {}
dentro de las comillas. Aquí tienes un ejemplo:
1name = "4Geeks" 2 3print(f"Hello from {name}!") 4#Output -> Hello from 4Geeks!
En el ejemplo anterior, estamos utilizando la variable name
para concatenarla a la cadena.
La concatenación de cadenas es una acción común que nosotros, como desarrolladores de software, debemos realizar en casi cualquier proyecto. Hay muchas maneras de concatenar cadenas; puedes usar la que mejor se adapte a tus necesidades.
La forma más familiar de concatenar cadenas para la mayoría de las personas es utilizando el operador +
. Mira este ejemplo que explica cómo funciona:
1name = "Alex" 2 3print("Hello my name is " + name + " and I'm a developer") 4#Output-> Hello my name is Alex and I'm a developer
Nota el espacio después de
is
y antes deand
. Si no los hubiéramos agregado, la salida habría sido algo como esto:Hello my name isAlexand I'm a developer
. Recuerda agregar los espacios cuando sea necesario.
También podemos usar el operador +=
para concatenar cadenas. Es bastante similar a usar el operador +
, pero en este caso modificaremos el valor de la cadena original.
1#Concatenate using the += operator 2fullname = "Alex " 3lastname = "Smith" 4fullname += lastname 5print(fullname) 6#Output-> Alex Smith
Nota que hay un espacio dentro de la cadena, de lo contrario, el valor de
fullname
sería "AlexSmith". Recuerda agregar los espacios cuando sea necesario.
Los números y las cadenas son tipos de datos completamente diferentes. Cuando queramos agregar un número (int, float, etc.) a una cadena, necesitaremos usar str()
para convertir ese número en una cadena.
1# Concatenate using the + Operator with numbers 2geeks_word = "Geeks" 3geeks_number = 4 4print("At " + str(geeks_number) + geeks_word + " Academy we love Python! <3") 5#Output-> At 4Geeks Academy we love python! <3
Como se mencionó anteriormente, estamos agregando espacios para que el render respete las reglas de escritura.
Si no convirtieramos la variable int1
a cadena, recibiríamos el siguiente error, indicando que estamos intentando concatenar un entero con una cadena.
1TypeError: can only concatenate str (not "int") to str
Las f-Strings de Python (literales de cadenas formateadas) hacen que escribir cadenas sea más rápido y mucho más fácil. Esta opción fue introducida en Python 3.6, por lo que debes tener en cuenta la compatibilidad hacia atrás al utilizarla.
Este es uno de los métodos más utilizados entre los desarrolladores experimentados debido a la facilidad de insertar variables
dentro de los corchetes. La(s) variable(s) se evaluarán y se mostrará una representación en cadena.
Implementación:
1#Concatenate using the f-Strings method 2geek_word = "Geeks" 3print(f"Showing the geek_word variable: {geek_word} using f-String") 4#Output-> Showing the geek_word variable: Geeks using f-String
Al utilizar la concatenación con f-Strings
, no necesitamos convertir los números (Int, Float, etc.) a cadena para poder mostrarlos dentro de los corchetes.
1#Concatenate using the f-Strings method with numbers 2geek_word = "Geeks" 3geek_number = 4 4print(f"At {geek_number}{geek_word} Academy we love Python! <3") 5#Output-> At 4Geeks Academy we love python! <3
Otra forma de concatenar cadenas en Python es utilizando el método format()
. Funciona de manera similar a los f-Strings
, ya que ambos utilizan corchetes {}
para insertar variables, pero está disponible desde la versión 2.7.
Este método tampoco necesita convertir los valores numéricos en cadenas.
1#Concatenate using the .format() method 2geek_word = "Geeks" 3geek_number = 4 4text = "{}{} Academy".format(geek_number, geek_word) 5print(text) 6#Output-> 4GeeksAcademy
Como puedes ver, el resultado devuelto es el esperado, pero sin espacio entre las palabras.
El operador %
es una forma más antigua de concatenar cadenas que funciona de manera muy similar al método .format()
. Usamos %s
como marcadores de posición para diferentes valores, como lo hicimos con los corchetes en los ejemplos anteriores.
1#Concatenate using the % Operator 2geek_word = "Geeks" 3geek_number = 4 4text = "%s%s Academy" % (geek_number, geek_word) 5print(text) 6#Output-> 4Geeks Academy
El uso del operador *
no es una concatenación de la manera en que hemos estado haciendo hasta ahora. El operador *
se utiliza para la multiplicación y eso es exactamente lo que hace: multiplica la cadena por la cantidad indicada.
1#Concatenate using the * Operator 2str1 = "4Geeks Academy " 3print(str1*3) 4#Output-> 4Geeks Academy 4Geeks Academy 4Geeks Academy
Si formateas correctamente la variable cadena (dejando un espacio al final de la oración/palabra), esta es la mejor manera de repetir una línea de texto tantas veces como necesites.