Python
String Concatenation
Un string es una secuencia de letras y caracteres con un orden en particular, son la única forma de almacenar caracteres que no sean números y son fundamentales en cada programa.
Los strings forman parte del conjunto de tipos de datos primitivos o básicos:
Tipo | Ejemplo | Representación |
---|---|---|
String | "Hello World" | str |
Número | 23.34 | int, decimal, complejo |
Secuencia | [2,3,1,56,4.34] | list, tuple, range |
Conjunto | {'1,'2','45'} | set, frozenset |
Mapping | {"name": "Bob"} | dict |
Booleano | True or False | bool |
Binario | 01001010111 | bytes, bytearray, memoryview |
Muchos Strings se crean a partir de montón de caracteres entre comillas: "hello"
o incluso "23232"
.
1name = "Bob" 2age = "23" # <--- esto sigue siendo un string (entre comillas)
Si estamos desarrollando una aplicación, todo lo que el usuario escríba dentro de formularios sera considerado un string
, incluso si el usuario escribe el numero 2
, éste se considerara un string y no un número a no ser que nosotros como desarrolladores lo convirtamos en número usando la función int()
o float()
.
El uso mas común de un string es imprimirla con la función print
:
1print("Hola Mundo!") 2# La funcion print recibe un string y la muestra en la linea de commandos / terminal del computador.
Python permite concatenar cadenas fácilmente utilizando el operador +
. El siguiente fragmento de código demuestra como sumar dos strings para crear un nombre completo a partir de nombre y apellido:
1nombre = "Alejandro" 2apellido = "Sanchez" 3nombre_completo = nombre + "" + apellido 4print("Mi nombre es " + nombre_completo) 5 6# Este codigo mostrará: "Mi nombre es Alejandro Sanchez" en la linea de comandos
En este ejemplo "Mi nombre es "
es un string concatenado al valor de la variable nombre_completo
:
1tweet = "¡Buenos días!" 2print("La variable tweet tiene "+str(len(tweet))+" caracteres") 3 4# Resultado:La variable tweet tiene 13 caracteres
Luego, también necesitamos saber el valor del string en un posición en particular, por ejemplo: sin un string empieza o termina con un signo de interrogación, probablemente sea una pregunta:
1pregunta = "¿Cómo estás?" 2tamaño = len(pregunta) 3print("El string empieza " + pregunta[0]) 4# Resultado: El string empieza con ? 5print("El string termina con " + pregunta[size - 1]) 6# Resultado: El string termina con ? 7 8> :point_up: Este método de extracción es muy similar al usado para extraer un elemento ubicado en una posición en particular en una lista de Python. 9 10También puedes extraer varios caracteres a la vez. El rango del método comienza con el índice del primer caracter que vas a extraer y termina con el índice DESPUÉS del último carácter que vas a extraer: 11 12```python 13nombre = "Mi nombre es Alejandro Sanchez" 14print("Extracción de" + nombre[11:20]) 15# Resultado: Extracción de Alejandro 16 17print("Extracted " + name[11:]) 18# Resultado: Extracción de Alejandro Sanchez 19 20print("Extracted " + nombre[:10]) 21# Resultado: Extracción de Mi nombre es
Si quieres comparar dos strings puedes utilizar ==
(dos signos iguales) y esto retornará True
si los strings son IDÉNTICOS, hay que estar muy pendiente de las mayúsculas "Bob" es diferente a "bob" porque tiene la primera letra en mayúcula
Veamos ahora un ejemplo:
1nombre1 = "pepe"; 2nombre2 = "juan"; 3if nombre1 == nombre2: 4 print("Esto es falso, no se imprimirá") 5if nombre1 == "pepe": 6 print("Esto es verdadero, se imprimirá") 7if nombre1 != nombre2: 8 print("Esto es verdadero, se imprimirá")
1string_en_minuscula = lower(string1) # Lo convierte a minúsculas. 2string_en_mayuscula = upper(string2) # Lo convierte a mayúsculas.
☝️ Es una buena práctica siempre pasar a minuscula los strings antes de compararlos con otros y así evitar errores.
La clase String no proporciona ningún método para convertir una cadena en un número. Sin embargo, cuatro clases de los "tipos envolventes" (Integer, Double, Float, y Long) proporcionan unos métodos de clase llamados valueOf() que convierten una cadena en un objeto de ese tipo. Aquí tenemos un pequeño ejemplo del método valueOf() de la clase Float:
1numero = 3.4 # Soy un número 2numero_como_string = str(numero) # Soy un string con valor "3.4"
En muchas ocasiones es necesario extraer una porción o substring de un string dado. Como ya vimos solo debemos saber que posiciones queremos substraer y colocarlas utilizando corchetes de la siguiente manera:
1 2cadena = "El lenguaje Python" 3print(cadena[1:5]) # Imprime "l le" 4print(cadena[1:]) # Imprime "l lenguaje Python" 5print(cadena[:5]) # Imprime "El le" 6