Programación

Trabajar con cadenas en Python

Trabajar con cadenas en Python

La cadena es uno de los tipos de datos más populares en Python. Podemos usar el tipo de datos de cadena para almacenar cualquier dato de texto. En Python, cualquier carácter bajo comillas simples o dobles se considera cadenas. Estos caracteres pueden ser cualquiera de los caracteres Unicode compatibles con Python. En este tutorial, aprenderemos casi todo sobre el tipo de datos de cadena en Python.

Para seguir este tutorial, se recomienda tener instalada la última versión de Python en su sistema. Si tiene una versión anterior de Python instalada en su sistema, puede seguir nuestra guía sobre cómo actualizar Python en Linux. 

Creando cadenas en Python

Para crear una cadena en Python, necesitamos poner la matriz de caracteres entre comillas. Python trata las comillas simples y dobles como lo mismo, por lo que podemos usar cualquiera de ellas al crear una cadena. Vea los ejemplos a continuación donde creamos una cadena, las almacenamos en variables y luego las imprimimos.

# creando una cadena
greeting = "Hola mundo"
# imprimiendo la cadena
imprimir (saludo)

Al ejecutar el código anterior, obtendrá el resultado Hola Mundo.

creando cadenas en python

En este código, hemos creado una cadena Hola Mundoy lo almacené en una variable llamada saludo. Luego usamos la función de impresión de Python para mostrar la cadena almacenada en la variable. Obtendrá el siguiente resultado al ejecutar el código. También podemos crear una cadena de varias líneas usando comillas triples en el siguiente código de ejemplo.

var = "" "Lorem ipsum dolor sit amet,
consectetur adipiscing elit,
sed hacer eiusmod tempor incididunt
ut labore et dolore magna aliqua."" "
imprimir (var)

Aquí está la salida.

cadena multilínea en python

En Python, las cadenas son matrices de bytes que representan caracteres Unicode. Pero no tiene ningún tipo de datos incorporado para caracteres individuales como en C o C++. Cualquier cadena que tenga una longitud de uno se considera un carácter.

Longitud de las cuerdas 

En muchas situaciones, es posible que debamos calcular la longitud de la cuerda. Hay una función incorporada que puede calcular la longitud de una cadena. La función que usaremos es la len () función.

Para ver un ejemplo práctico de el len () función, ejecute el siguiente código en su Python IDE.

var = "Esto es una cadena"
print ("La longitud de la cadena es:", len (var))

Producción:

longitud de la cadena usando el método len ()

También podemos usar el bucle for de python, que discutí en este tutorial, para calcular la longitud de una cadena. 

Ejemplo:

var = "Esto es una cadena"
cuenta = 0
para i en var:
cuenta = cuenta + 1
print ("La longitud de la cadena es:", cuenta)

Producción:

longitud de la cuerda manualmente usando for loop

Concatenación de cadenas

La concatenación de cadenas es la fusión o unión de dos cadenas. Podemos unir dos cadenas fácilmente usando el operador +. Veamos un ejemplo de unir dos cadenas en python.

# creando dos cadenas
string1 = "Hola"
string2 = "Mundo"
# fusionando las dos cadenas
saludo = cadena1 + cadena2
imprimir (saludo)

En el código anterior, hemos creado dos cadenas, a saber, "Hola" y "Mundo", y las almacenamos en dos variables llamadas cadena1 y cadena2. Luego usamos el operador + para unir las dos cadenas y almacenarlas en una variable llamada saludo y lo mostramos usando el impresión() función.

Producción:

concatenando dos cadenas

Repetición de cuerda

Podemos repetir una cadena varias veces en python usando el operador *. Por ejemplo, para imprimir la cadena "Fosslinux" dos veces, necesitamos escribir el siguiente código.

imprimir ("Fosslinux" * 2)

Producción:

repetición de cuerdas

Formateo de cadenas

Es fácil hacer formato de cadena en Python. Hay tres formas:

1. Estilo de formato antiguo

El antiguo estilo de formateo de cadenas se realiza mediante el operador%. Necesitamos usar símbolos especiales como "% s", "% d", "% f", "%.F". con la cadena y luego especifique la tupla de datos que queremos formatear en ese lugar. Veamos cuáles son los datos aceptados por los símbolos anteriores.

Por ejemplo, vea el siguiente código. Puede copiar y ejecutar el código en su IDE de Python favorito.

string1 = "Es una cadena formateada con el entero% d"% (1)
string2 = "Es una cadena formateada con la cadena% s"% ("Fosslinux")
string3 = "Es una cadena formateada con datos flotantes% f"% (1.01)
imprimir (cadena1)
imprimir (cadena2)
imprimir (cadena3)

Producción:

el antiguo estilo de formato de cadena en Python

Como podemos ver en la salida, hemos formateado las cadenas con los datos de número entero, flotante y cadena. Este método de formateo de cadenas es la forma más antigua, pero se usa menos hoy en día.

2. Usando el método format ()

Esta es una nueva técnica de formato de cadenas introducida en Python 3. Las funciones format () toman los datos como argumento y los reemplazan en la cadena donde el marcador de posición están presentes. 

Ejemplo:

string1 = "Es una cadena formateada con entero ".formato (1)
string2 = "Es una cadena formateada con cadena ".formato ("Fosslinux")
string3 = "Es una cadena formateada con datos flotantes ".formato (1.01)
imprimir (cadena1)
imprimir (cadena2)
imprimir (cadena3)
print (" es un gran sitio web para aprender y ".formato ("FossLinux", "Linux", "Python"))

Obtendremos la cadena formateada como salida al ejecutar el código anterior, como se muestra en la imagen de abajo.

formato de cadena usando la función format ()

3. cuerdas f

La última técnica de formateo de cadenas es la interpolación de cadenas o f-strings, introducida en la versión 3 de Python.6. Podemos especificar un nombre de variable directamente en una cadena f, y el intérprete de Python reemplazará el nombre de la variable con el valor de datos correspondiente. Las cadenas f comienzan con la letra f, y podemos inyectar los datos en sus posiciones correspondientes directamente. Esta técnica de formateo de cadenas se ha vuelto bastante popular en los últimos días. Para ver una demostración de su funcionamiento, copie el siguiente código y ejecútelo en su Python IDE.

string1 = f "Es una cadena formateada con entero 1"
string2 = f "Es una cadena formateada con la cadena 'fosslinux'"
string3 = f "Es una cadena formateada con datos flotantes 0.01 "
imprimir (cadena1)
imprimir (cadena2)
imprimir (cadena3)
a = "Fosslinux"
b = "Linux"
c = "Python"
print (f "a es un gran sitio web para aprender b y c")

Usamos el método de interpolación de cadenas para formatear cadenas en el código anterior. Las cadenas que comienzan con el carácter f son cadenas de f. La cadena f ha simplificado nuestro trabajo, y podemos escribir las variables directamente en las cadenas dando variables bajo el marcador de posición. Al ejecutar el código anterior, obtendremos el siguiente resultado.

formateo de cadenas usando f-strings

Buscar una subcadena

A menudo, es posible que deseemos verificar la existencia de un personaje o una subcadena en una cadena. Esto se puede hacer usando el en y no en Palabras clave de Python. Por ejemplo, para comprobar si Hola está presente en la cadena Hola Mundo, necesitamos ejecutar el siguiente código.

x = "hola" en "hola mundo"
imprimir (x)

Al ejecutar el código anterior en un IDE de Python, obtendremos el valor booleano Cierto como una salida, lo que significa que la subcadena "hola" está presente en el "hola mundo".

comprobar si hay una subcadena en una cadena

Veamos otra demostración para saber cómo funciona de una mejor manera.

string = "FossLinux es un gran sitio web para aprender Linux y Python"
print ("Fosslinux" en cadena)
print ("FossLinux" en cadena)
print ("Foss" en cadena)
print ("Pyt" en cadena)
print ("hon" en cadena)
print ("Python" no en cadena)

Producción:

comprobar si hay una subcadena en una cadena usando la palabra clave in

En el código anterior, hemos utilizado tanto el en y el no en palabras clave para comprobar una subcadena en la cadena principal.

Cadena como secuencia de caracteres

La cadena de python es una secuencia de caracteres; son casi similares a otras secuencias ordenadas de Python como lista, tupla, etc. Podemos extraer caracteres individuales de las cadenas de muchas maneras, como desempaquetarlos usando variables e indexarlos que discutiré en el siguiente tema. Podemos descomprimir las cadenas asignándolas a variables. Para ver cómo funciona, simplemente copie y ejecute el siguiente código en su IDE de Python favorito.

idioma = 'Fosslinux'
# descomprimiendo la cadena en variables
a, b, c, d, e, f, g, h, i = idioma
imprimir (a)
imprimir (b)
imprimir (c)
imprimir (d)
imprimir (e)
imprimir (f)
imprimir (g)
imprimir (h)
imprimir (i)

Producción:

desempaquetando caracteres usando variables

Cadenas de indexación

La indexación de cadenas es una técnica fundamental y popular mediante la cual podemos acceder al carácter de una cadena y realizar muchas operaciones de cadena muy fácilmente. En programación, el conteo comienza con cero (0), por lo que para obtener el primer carácter de una cadena, debemos dar cero en el índice. Para ver un ejemplo práctico de indexación, copie y ejecute el siguiente código en un IDE de Python.

string = "Fosslinux"
imprimir (cadena [0])
imprimir (cadena [1])
imprimir (cadena [2])
imprimir (cadena [3])

En el código anterior, primero creamos una cadena llamada Fosslinux, y luego usamos la indexación de cadenas de Python para obtener el primer, segundo, tercer y cuarto carácter de la cadena. Obtendremos la siguiente salida en la terminal al ejecutar el código.

cadenas de indexación

Python también admite la indexación negativa, que es muy útil cuando podemos comenzar a contar desde el lado derecho. Por ejemplo, para obtener el penúltimo carácter de una cadena "Fosslinux", debemos escribir el siguiente código.

string = "Fosslinux"
print ("El penúltimo término de la cadena es:", cadena [-2])

Al ejecutar el código, obtendremos el penúltimo término de la cadena "Fosslinux", como se muestra en la imagen de abajo.

indexación negativa en cadenas de Python

Obtener el último término de una cadena

A veces, es posible que deseemos obtener el último término de la cadena. Tenemos dos formas de hacer esto: la primera usa la indexación negativa y la segunda usa la función len () con indexación.

Para obtener el último término de la cadena usando indexación negativa, mire el siguiente código.

string = "Fosslinux"
print ("El último término de la cadena es:", cadena [-1])

Producción:

último término usando indexación negativa

También podemos usar la función len () con indexación para obtener el último término. Para hacer esto, necesitamos calcular la longitud de la cadena, y luego necesitamos encontrar el carácter indexando el valor, que es uno menos que la longitud de la cadena. Vea el siguiente ejemplo.

string = "Fosslinux"
longitud = len (cadena)
last_index = longitud-1
print ("El último término de la cadena es:", cadena [last_index])

En el código anterior, primero creamos una cadena y la almacenamos en una variable llamada cuerda. Luego calculamos la longitud de la cadena usando el método len (). Como la indexación en Python comienza con cero, necesitamos restar uno de la longitud. Luego lo pasamos como índice al cuerda. Así obtenemos el último carácter de la cadena. 

Producción:

último término calculando la longitud

Cortar cuerdas

En Python, tenemos una gran técnica, una forma extendida de indexación conocida como corte de cadenas. Esto se puede usar para cortar una cadena en una subcadena. Para hacer el corte, necesitamos dar el número de índice del primer carácter y el último carácter de la subcadena en el índice de la cadena colocando un punto y coma en el medio de ellos. Para una demostración práctica, vea el código de ejemplo a continuación.

string = "Fosslinux"
imprimir (cadena [1: 6])
imprimir (cadena [0: 4])

Producción:

rebanar cuerdas

Omitir caracteres al cortar

También podemos omitir caracteres mientras cortamos una cadena. Durante el corte de una cadena, tenemos la siguiente sintaxis.

cadena [inicio: parada: paso]

El inicio y el final son los números de índice predeterminados que usamos en la sintaxis anterior hasta ahora. El parámetro de paso acepta un número entero, que se usa para dar el número de caracteres que se deben dejar en cada paso.

Inversión de cuerdas

Podemos revertir una cuerda fácilmente usando el método de corte. Por ejemplo, vea el siguiente código. Copie el siguiente código en su Python IDE y ejecútelo.

string = "Fosslinux"
print ("La cadena inversa de", cadena, "es", cadena [:: - 1])

Este código invertirá la cadena "Fosslinux."Al ejecutar el código, obtendremos el siguiente resultado.

cuerda de reversa

Carácter de escape en cadenas

Los caracteres de escape en la programación son una excelente manera de agregar caracteres no imprimibles en cadenas. Por ejemplo, para agregar el carácter de nueva línea en cadenas, usamos el carácter de escape "\ n". Vea el siguiente código para una demostración.

print ("\ n \ n \ n Hola \ n \ n Mundo")

Al ejecutar el código, obtendremos el siguiente resultado.

caracteres de escape en cadenas

Como podemos ver en el código, las nuevas líneas se agregan automáticamente en lugar de "\ n". Ahí es donde entra en juego la secuencia de escape. Hay muchos caracteres de secuencia presentes en Python. Los enumeraré todos aquí; puedes probarlos todos para ver cómo funciona cada uno.

Métodos de cadena

Hemos aprendido muchas cosas sobre las cadenas de Python, pero esta parte es mucho más útil que cualquier otra parte de este artículo. Python viene con una gran cantidad de funciones integradas para trabajar con cadenas. Al usarlos, podemos realizar fácilmente muchas operaciones en cadenas. 

Transformación de casos de cuerdas

Tenemos algunas funciones integradas que se pueden usar para transformar los casos de cadena. Vamos a discutirlos todos.

cuerda.capitalizar()

Este método se utiliza para capitalizar la cadena de destino. Cuando usamos el método como cuerda.capitalizar, devolverá la cadena poniéndola en mayúscula, yo.mi., transformar el primer carácter en mayúsculas y todos los demás caracteres en minúsculas. Para ver una demostración práctica de su copia de trabajo y ejecutar el siguiente código en su Python IDE.

cadena = "fosslinux"
imprimir (cadena.capitalizar())
Usamos el capitalizar() método del objeto String, capitalizándolo. Al ejecutar el código, obtendremos el siguiente resultado.
pone en mayúscula una cadena

.superior()

Este método se utiliza para transformar una cadena en mayúsculas, i.mi., pone en mayúscula todos los caracteres presentes en la cadena. 

Ejemplo:

string = "Fosslinux"
imprimir (cadena.superior())

Producción:

transformar una cuerda en mayúscula

cuerda.más bajo()

Este método se utiliza para transformar una cadena en minúsculas, i.mi., cambia todos los caracteres presentes en la cadena a minúsculas. 

Ejemplo:

string = "FOSSLinux"
imprimir (cadena.más bajo())

Producción:

transformar una cuerda en mayúscula

cuerda.maletín de intercambio ()

Este es un gran método para intercambiar el caso de caracteres de una cadena. Convierte los caracteres en minúsculas a mayúsculas y viceversa de la cadena. Para ver su funcionamiento, simplemente copie y ejecute el siguiente código.  

string = "FOSSlinux"
imprimir (cadena.maletín de intercambio ())

Producción:

intercambiando caso de cadena de python

cuerda.título()

Nuevamente, este es un método excelente para manipular cadenas, ya que transforma el primer carácter de cada palabra presente en la cadena a mayúsculas. 

Ejemplo:

string = "Fosslinux es genial"
imprimir (cadena.título())

Producción:

transformando cadena en título

Es posible que haya notado la diferencia entre capitalizar() y el título() método. La capitalizar() El método solo capitaliza el primer carácter de la primera palabra de la cadena, mientras que el título() El método pone en mayúscula el primer carácter de cada palabra presente en la cadena.

Clasificación de personajes

También tenemos métodos para verificar el caso de una cadena, ya sea en mayúsculas, minúsculas, etc. Discutámoslos brevemente con ejemplos.

cuerda.isalnum ()

Este método se usa para verificar si una cadena contiene solo números alfanuméricos o no, i.mi., todos sus caracteres deben ser números o alfabetos, pero ningún otro carácter, incluidos los espacios en blanco. 

Ejemplo:

string1 = "Fosslinux123"
string2 = "Fosslinux es genial"
string3 = "Fosslinux @ # 123"
imprimir (cadena1.isalnum ()) # contiene solo alfabeto y números
imprimir (cadena2.isalnum ()) # contiene espacios en blanco
imprimir (cadena3.isalnum ()) # contiene caracteres especiales

Producción:

comprobación de números alfanuméricos en una cadena

cuerda.isalpha ()

Este método de cadena es similar al método anterior, pero solo verifica los alfabetos, no los números en la cadena, lo que significa que la cadena solo debe contener alfabetos. Por ejemplo, ejecute el siguiente código.

string1 = "Fosslinux123"
string2 = "Fosslinux"
imprimir (cadena1.isalpha ()) # contiene alfabeto y números
imprimir (cadena2.isalpha ()) # contiene solo el alfabeto

Obtenemos Falso para el primero porque contiene números, y obtenemos Verdadero para el siguiente, ya que solo contiene alfabetos. 

Producción:

comprobación de alfabetos en cadenas

cuerda.isdigit ()

Este método es similar al anterior, pero en lugar de alfabetos, verifica si la cadena consta solo de dígitos. Devuelve Verdadero si todos los caracteres presentes en una cadena son dígitos; si no devuelve falso.

cuerda.isidentifier ()

Este también es un gran método de cadena de Python. Al usar este método, podemos verificar si una cadena es un identificador de Python válido o no. He discutido las reglas para elegir el identificador de Python válido en los conceptos básicos del tutorial de Python. 

Ejemplo:

string1 = "Fosslinux123"
string2 = "123Fosslinux"
string3 = "_Fosslinux"
string4 = "Fosslinux @ 1234"
imprimir (cadena1.isidentifier ()) # Verdadero
imprimir (cadena2.isidentifier ()) # Falso (comienza con números)
imprimir (cadena3.isidentifier ()) # Verdadero
imprimir (cadena4.isidentifier ()) # False (contiene caracteres especiales @)

Producción:

comprobar el identificador en la cadena

cuerda.es bajo()

Este método de cadena comprueba si todos los caracteres de cadena están en minúsculas. Si es así, devuelve True; de ​​lo contrario, devuelve False.

cuerda.isupper ()

Este método de cadena comprueba si todos los caracteres presentes en una cadena están en mayúsculas. Si es así, devuelve True; de ​​lo contrario, devuelve False.

cuerda.istitle ()

La istitle () El método de la cadena devolverá True si el primer alfabeto de todas las palabras presentes en una cadena está en mayúsculas y todos los demás caracteres en minúsculas.

cuerda.es imprimible ()

Devuelve True si todos los caracteres presentes en la cadena son imprimibles, i.mi., personajes que no son de escape; de lo contrario, devuelve False. Para ver cómo funciona, ejecute el siguiente código.

string1 = "Fosslinux"
string2 = "\ nFosslinux"
imprimir (cadena1.isprintable ()) # Verdadero
imprimir (cadena2.isprintable ()) # False (Contiene el carácter de nueva línea)

Producción:

comprobación de caracteres imprimibles

cuerda.isspace ()

La cuerda.isspace () El método devolverá True si todos los caracteres de cadena son caracteres de espacio en blanco; de lo contrario, devolverá Falso.

Otras funciones importantes

cuerda.contar()

El método count () del objeto String se usa para obtener el número de veces que ocurre un valor especificado. 

Ejemplo:

string = "Fosslinux"
imprimir (cadena.contar ("s"))

En el código anterior, usamos el contar() método para obtener el número de veces que el carácter "s" aparece en la cadena "Fosslinux."

Producción:

contando los caracteres especificados en una cadena

cuerda.comienza con()

Este método de cadena verifica si la cadena comienza con la subcadena dada en el argumento del método. Para ver una demostración práctica de su funcionamiento, copie y ejecute el siguiente código en un IDE de Python.

string = "Fosslinux"
imprimir (cadena.empieza con ("F"))
imprimir (cadena.empieza con ("Fo"))
imprimir (cadena.startswith ("Foss"))
imprimir (cadena.startswith ("Fosss"))

Al ejecutar el código anterior, obtendremos True para los primeros tres, mientras que el último devuelve False, como se muestra en la imagen de salida a continuación.

la cadena comienza con

cuerda.termina con()

Esto es similar al método anterior, pero la diferencia es que mientras que el anterior verifica el inicio de una cadena, lo hará al final de la cadena.

cuerda.encontrar()

El método find () del objeto String es un método importante para encontrar un carácter o subcadena en una cadena. Acepta la subcadena como argumento y devuelve el índice de la subcadena si está presente en la cadena; más devuelve -1. 

Ejemplo:

string = "Fosslinux"
imprimir (cadena.buscar ("lin"))

Al ejecutar el código anterior, obtendremos el resultado como 4, que es el índice inicial de la subcadena "lin" en "Fosslinux."

función de búsqueda de cadena

cuerda.reemplazar()

La sintaxis de este método es reemplazar (antiguo, nuevo). Se necesitan dos argumentos; una es la subcadena antigua y la nueva es la subcadena. Reemplaza toda la subcadena anterior con la nueva subcadena en toda la cadena.

Ejemplo:

string = "Fosslinux"
imprimir (cadena.reemplazar ("Foss", ""))
Obtendremos solo el Linux impreso en la pantalla como el Foss se reemplaza con espacios en blanco al ejecutar el código anterior.  Producción: 
función de reemplazo de cadena

cuerda.separar()

Este método toma el separador como argumento, divide la cadena de acuerdo con el separador y devuelve una lista de Python. 

Ejemplo:

string = "Fosslinux es un gran lugar para comenzar a aprender Linux y Python"
imprimir (cadena.separar(" "))
Al ejecutar el código anterior, obtendremos una lista de las palabras de cadena. Como usamos la función de división con espacios en blanco como argumento, divide la cadena cuando obtiene espacios en blanco.  Producción: 
función de división de cadena de Python

cuerda.banda()

Este método se utiliza para eliminar todos los espacios en blanco iniciales y finales de la cadena.

Conclusión

Eso es todo sobre Strings y su uso en Python. Seguir el tutorial le dará una idea de lo útil que es trabajar con cadenas en Python. Es posible que también desee ver el tutorial sobre el uso del bucle for en python, un bucle definitivo para la iteración en python. Finalmente, antes de irnos, es posible que desee ver el método para revertir una cadena en Python, que es útil al manejar cadenas.

Los mejores juegos de Oculus App Lab
Si es propietario de un visor Oculus, debe estar informado sobre la descarga lateral. Sideloading es el proceso de instalación de contenido que no es ...
Los 10 mejores juegos para jugar en Ubuntu
La plataforma Windows ha sido una de las plataformas dominantes para juegos debido al gran porcentaje de juegos que se están desarrollando hoy para ad...
5 mejores juegos de arcade para Linux
Hoy en día, las computadoras son máquinas serias que se usan para jugar. Si no puede obtener la nueva puntuación más alta, sabrá a qué me refiero. En ...