El tipo de datos String es uno de los más comunes que probablemente usará en Python. Las cadenas se utilizan para representar texto, y el texto es algo muy útil para trabajar y manipular en una aplicación Python. Las cadenas de Python son inmutables, lo que significa que no se pueden cambiar en su lugar una vez creadas. Puede manipular una cadena y luego almacenar su contenido en una nueva variable, pero la cadena original permanecerá intacta. En este tutorial, veremos algunos conceptos diferentes con respecto a las cadenas en Python. Veremos cómo formatear cadenas, aprenderemos sobre lo que se conoce como "cadenas F", entenderemos qué es una cadena de documentos, aprenderemos a usar barras y barras invertidas, utilizaremos variables en cadenas de Python y veremos cómo buscar subcadenas dentro de cadenas. . Empecemos.


Creando una cadena

Una cadena en Python es uno o más caracteres. Todo lo que esté entre comillas simples ' 'o dobles " "se considera una cadena. Incluso una cadena sin nada en ella (un conjunto vacío de comillas simples o dobles) sigue siendo una cadena. Aquí hay algunos ejemplos de cadenas en Python:

¿Por qué puede utilizar comillas simples o dobles? La capacidad de utilizar comillas simples o dobles permite dos cosas. Primero, puede elegir el formato que mejor se adapte a sus preferencias. En segundo lugar, le permite poner cadenas entre comillas dentro de la cadena. Por ejemplo:


Usando str () para crear una cadena

La función str () le permite convertir un tipo de datos diferente en una cadena.

<clase 'str'>

<clase 'str'>

<clase 'str'>

<clase 'str'>

<clase 'str'>

Concatenar cadenas usando +

El operador + le permite agregar cadenas literales así como variables de cadena.

¡Mira esta cadena de Python!

¡Mira esta cadena de Python!

Ni siquiera tiene que usar el operador + si se siente particularmente perezoso cuando trabaja con cadenas literales (no variables). Si asigna varias cadenas una detrás de otra a una variable, Python se concatenará automáticamente sin el uso del operador + .

Esta es una cadena sumada

Los espacios no se agregan automáticamente cuando concatena cadenas en Python, por lo que debe tener en cuenta eso. La función print () agrega un espacio entre cada argumento, así como una nueva línea al final.


Multiplicar cadenas

Puede duplicar cadenas fácilmente con el operador * en Python.

dos dos 

tres tres tres

cinco cinco cinco cinco cinco

Formato de cadena de Python

Antes de mirar F Strings, veamos cómo .format()funciona la función en Python. Esto es importante porque cualquier código anterior a Python 3.6 hacía uso de esta función exclusivamente cuando trabajaba con Strings. Aquí hay un ejemplo del uso de la función .format () con una cadena de Python que tiene una variable.

Python es el mejor lenguaje de programación

Las llaves {} actúan como un marcador de posición para la variable. Cuando se ejecuta el programa, el contenido de la variable de cadena se coloca en el lugar de las llaves. Puede usar múltiples variables de una sola vez con la función .format () . Las llaves se llenarán con las variables en el orden proporcionado.

Esta es la primera variable, la segunda variable y la tercera variable

Cadena Python F

A partir de Python 3.6, los programadores ahora pueden usar lo que se conoce como f-strings . Esta nueva característica le permite omitir el uso de la función .format () e introduce un tipo de interpolación de cadenas. Las llaves {} todavía se usan como marcador de posición para las variables, pero todo lo que necesita hacer ahora es preceder la cadena con una f minúscula para denotar una cadena f . Luego, completa los nombres de las variables dentro de las llaves. Aquí está el ejemplo de código justo arriba, reescrito para hacer uso de f-strings:

Esta es la primera variable, la segunda variable y la tercera variable

Entonces, ya sea que use la función .format () anterior o f-strings, ahora sabemos cómo usar variables en Python Strings.


Barra invertida (escape) en cadenas de Python

Algunos caracteres no son válidos por sí mismos en una cadena. Una solución para este escenario es usar un carácter de escape para decirle a Python que permita el carácter especial. Una barra invertida \ seguida del carácter a incluir en la cadena es lo que se conoce como carácter de escape . Entonces, ¿cuándo usarías un carácter de escape? Bueno, vimos cómo podíamos mezclar y combinar el uso de comillas simples y dobles para definir cadenas en Python. Si prefiere usar solo uno u otro, el carácter de escape puede ayudarlo con eso. Aquí hay unos ejemplos:

Comillas simples usando el carácter de escape

Comillas dobles usando el carácter de escape

Para imprimir estoUtilice este carácter de escape
Cotización doble\ "
Lengüeta\ t
Una frase\ '
Barra invertida\\
Salto de línea\norte

¿Qué pasa si un carácter de escape es realmente parte de la cadena? La solución para este escenario es usar lo que se conoce como cadena sin procesar. Una cadena sin formato en Python ignora todos los caracteres de escape e imprime la cadena "tal cual". Aquí hay un ejemplo de una cadena sin procesar en Python:

Algunos caracteres de escape comunes son \ ', \ ", \ t, \ n y \\

Cuerdas entre comillas triples

Vimos cómo usar comillas simples y dobles con cadenas en Python. ¡También puedes usar comillas triples ! Las comillas triples se utilizan para algunas cosas en Python. La primera es imprimir una cadena y hacer uso de varias líneas en la cadena. Otro uso de las comillas triples es poder mezclar y combinar comillas simples y dobles en una cadena sin efectos nocivos. La última aplicación de las comillas triples es crear lo que se conoce como una cadena de documentos de Python. Un Docstring es una forma de describir el comportamiento de lo que hace una función en Python . Aquí hay algunos ejemplos de cadenas de comillas triples en Python:

Impresión de varias líneas

Esta cuerda

tiene algunos saltos de línea

en eso

Cotizaciones simples y dobles dentro de cotizaciones triples

No me gustan tus "Cotizaciones aéreas" usadas en exceso

Describir el comportamiento de una función mediante una cadena de documentos


Compruebe si una cadena contiene una cadena

Muchas veces es útil saber si una cadena contiene una cadena en particular dentro de ella. En otras palabras, es común buscar una subcadena dentro de una cadena. Hay algunas formas de verificar si una determinada cadena contiene una subcadena determinada en Python. Veamos algunos ejemplos.

El inoperador

Falso

Cierto

El not inoperador

Cierto

Falso

Los operadores innot inse pueden usar con cadenas para ver si contienen o no una subcadena específica. El uso de innot inse evaluará como Booleano Verdadero o Falso.

El .find () función

-1

3

También puede usar el método .find () para ver si una cadena contiene un valor específico. Este enfoque no evalúa como Verdadero o Falso, sino que devuelve un valor entero. Si no se encuentra la subcadena, -1 es el resultado. Si se encuentra el valor, el resultado es el valor entero del comienzo de la subcadena.


Métodos de caso de cadenas de Python

Python tiene varios métodos para tratar el caso de una cadena. Estos incluyen lower (), swapcase (), title (), upper (), islower (), istitle () e isupper ().

.lower () Devuelve una copia de la cadena convertida a minúsculas.

cuerda genial y divertida

nota: También puede usar la función .casefold () para esto como una versión más poderosa de .lower () ya que elimina todas las distinciones entre mayúsculas y minúsculas en una cadena, incluidos los caracteres especiales, lo que la hace adecuada para comparaciones sin mayúsculas.

.swapcase () Convierte los caracteres en mayúsculas en minúsculas y los caracteres en minúsculas en mayúsculas.

CORREA DE FUNCIÓN FRÍO

.title () Devuelve una versión de la cadena donde cada palabra tiene el título en mayúscula. En otras palabras, las palabras comienzan con caracteres en mayúscula y todos los caracteres restantes en mayúscula tienen minúsculas.

Cuerda Cool Fun

.upper () Devuelve una copia de la cadena convertida a mayúsculas.

COOL FUN STRING

.islower () Devuelve True si la cadena es una cadena en minúsculas, False en caso contrario. Una cadena está en minúsculas si todos los caracteres en mayúscula de la cadena están en minúsculas y hay al menos un carácter en mayúscula en la cadena.

Falso

.istitle () Devuelve True si la cadena es una cadena en mayúscula de título, False en caso contrario. En una cadena en mayúsculas y minúsculas, los caracteres en mayúsculas y en mayúsculas solo pueden seguir a los caracteres que no están en mayúscula y los caracteres en minúsculas solo en mayúsculas.

Cierto

.isupper () Devuelve True si la cadena es una cadena en mayúsculas, False en caso contrario. Una cadena está en mayúsculas si todos los caracteres en mayúsculas de la cadena están en mayúsculas y hay al menos un carácter en mayúsculas en la cadena.

Falso

.capitalize () Devuelve una versión en mayúscula de la cadena. Esta función hace que el primer carácter tenga mayúsculas y el resto minúsculas.

Cuerda genial y divertida

Cómo cortar cuerdas

Las cadenas en Python son una secuencia de caracteres. Cada personaje vive en un índice. El índice es como la posición que ocupa el personaje. Para mostrar esto, podemos usar el método .index () para ver en qué parte de la cadena existe un determinado carácter.

.index () Devuelve el índice más bajo en S donde se encuentra la subcadena sub, de modo que sub está contenido dentro de S [inicio: fin]. Los argumentos opcionales start y end se interpretan en notación de sector. Genera ValueError cuando no se encuentra la subcadena.

dieciséis

Tenga en cuenta que esto distingue entre mayúsculas y minúsculas. Mira lo que sucede si en su lugar se usa una letra mayúscula.

Rastreo (llamadas recientes más última):
  Archivo "C: /python/justhacking/strings.py", línea 3, en <módulo>
    imprimir (the_str.index ('F'))
ValueError: subcadena no encontrada

Considere este código:

5

Se devuelve el valor de 5. ¿Como funciona esto? Puede ser útil ver una visualización. Si está familiarizado con las listas en Python, entonces conoce el concepto de un elemento en una lista que tiene un índice. También puedes pensar en cadenas como una lista. Cada carácter de una cadena tiene un índice determinado. Aquí está la representación visual de este ejemplo que acabamos de ver.

posición del índice de cadena de Python

Sabiendo esto, ahora podemos usar la notación de corte estándar en cadenas para acceder a caracteres específicos o un rango de caracteres.

S

yo

y

Cuerda

Str

Si y

Si especifica un índice, obtiene el carácter en esa posición en la cadena. Si especifica un rango de un índice a otro, el índice inicial se incluye, pero el índice final no. La subcadena que obtiene de the_str [0: 6] incluirá todo, desde the_str [0] a the_str [5].

  • [:] Agarra toda la cadena de principio a fin.
  • inicio :] Agarra la cadena desde el inicio hasta el final
  • [: end ] Agarra todos los caracteres desde el principio hasta el final del desplazamiento -1
  • inicio : fin ] Comienza en el desplazamiento inicial hasta el desplazamiento final -1
  • inicio : final : paso ] Comienza en el desplazamiento inicial hasta el desplazamiento final -1 en incrementos de paso

Comprobación de la longitud de la cadena con len ()

Para verificar la longitud de una cadena en Python, puede usar la función incorporada len () .

26

La función len () también cuenta el número de elementos de un objeto. Como vimos anteriormente, si estamos trabajando con una cadena, la función len () cuenta el número de caracteres en la cadena.


Sustitución de subcadenas usando reemplazar ()

La función replace () se puede usar para buscar y reemplazar ciertos caracteres o palabras en una cadena. Dado que las cadenas son inmutables, esta función en realidad no modifica la cadena original, realiza los reemplazos y devuelve una nueva cadena.

Fuera lo viejo, adentro lo viejo

Hmm, eso no está del todo bien. De forma predeterminada, .replace () buscará todas las apariciones de los caracteres a reemplazar y los reemplazará. También hay un tercer parámetro opcional que especifica cuántos reemplazar. Podemos arreglar el ejemplo anterior con ese tercer parámetro.

Fuera lo viejo, adentro lo nuevo

División y unión de cuerdas

Si una cadena tiene varias palabras, puede dividir la cadena en una lista basada en caracteres de espacio en blanco. Veamos cómo funciona el método .split ().

.split () Devuelve una lista de las palabras de la cadena, utilizando espacios en blanco como delimitador predeterminado.

['Solo', 'A', 'Cadena']

Para convertir una lista de palabras en una cadena, tiene acceso a la función .join ().

.join () Concatenar cualquier número de cadenas. La cadena cuyo método se llama se inserta entre cada cadena dada. El resultado se devuelve como una nueva cadena.

Solo una cuerda

La sintaxis puede resultar un poco confusa. Lo que está haciendo es llamar al método .join () en la representación de cadena del separador que le gustaría usar. Para que pueda unirse a una lista de palabras en la cara feliz si lo desea.

Solo 😃una 😃cuerda

Contar ocurrencias de caracteres o subcadenas

A veces, es posible que desee contar la cantidad de veces que ocurre una subcadena dentro de una cadena determinada. En Python, puede usar la función .count () para hacer esto. Puede contar el número de veces que aparece una subcadena o puede contar el número de veces que aparece un solo carácter.

.count () Devuelve el número de ocurrencias no superpuestas de subcadena sub en la cadena S [inicio: fin]. Los argumentos opcionales start y end se interpretan en notación de sector.

1

3

2

Comienza con y termina con

Hay dos métodos para comprobar si una cadena comienza o termina con un carácter o subcadena específico. Estos son los métodos .startswith () y .endswith ().

.startswith () Devuelve True si la cadena comienza con el prefijo especificado, False en caso contrario.

Cierto

Falso

.endswith () Devuelve True si la cadena termina con el sufijo especificado, False en caso contrario.

Cierto

Falso

Adición de tabulaciones o nuevas líneas a cadenas

A veces es útil agregar pestañas, líneas nuevas o alguna otra forma de espacio en blanco para ayudar a formatear la salida de un programa para que sea más fácil de leer para el usuario final. Veamos algunos ejemplos de cómo hacer esto.

Cadena de Python Cadena de Python Cadena de Python

Cadena de Python
 	Cadena de Python
 		Cadena de Python

Tabulaciones a espacios con tabulaciones expandibles ()

Python tiene una función .expandtabs () que devuelve una copia de la cadena donde todos los caracteres de tabulación se expanden usando espacios. Si no se proporciona un tamaño de pestaña, se utiliza un tamaño de pestaña de 8 caracteres. El siguiente ejemplo elimina los caracteres de tabulación iniciales y finales y los reemplaza con 4 espacios cada uno.

    Mermelada de fresa y arándano    

Usando strip () rstrip () y lstrip ()

Es bastante común tener la necesidad de eliminar los espacios en blanco iniciales o finales de una cadena. Estos incluyen espacios, pestañas y nuevas líneas. Para limpiar la cadena, puede usar .strip () , .rstrip () o .lstrip () . Estos se explican por sí mismos y hacen exactamente lo que piensas.

.strip () Elimina los espacios en blanco de ambos lados de la cadena.
.rstrip () Elimina los espacios en blanco del lado derecho de la cadena.
.lstrip () Elimina los espacios en blanco del lado izquierdo de la cadena.

Si tiene caracteres específicos que desea eliminar, puede pasarlos como un argumento a la función.

 Esta es una linda cadena

Alinear cuerdas

Python tiene algunas funciones de alineación que puede usar para formatear ordenadamente cómo se muestra una cadena. La función para manejar la alineación de cadenas son las funciones .center () , .ljust () y .rjust () . La forma en que funcionan estas funciones es pasarles un número que especifica qué tan ancha es la “caja” que contendrá la cadena que se justificará. Por ejemplo, si pasa el número 34 a la función .center (), significa que desea que una cadena en particular se centre en un área de diseño de 34 caracteres de ancho. Veamos cómo funciona esto.

     Mermelada de fresa y arándano     
Mermelada de fresa y arándano          
          Mermelada de fresa y arándano

También puede utilizar un carácter personalizado como carácter de relleno. Este enfoque ofrece una representación visual aún más clara del proceso de alineación. Usaremos algunos caracteres emoji como carácter de relleno aquí.



Cómo utilizar el resumen de cadenas de Python

El procesamiento de información de texto es muy común en casi todos los programas de computadora y Python tiene muchas funciones integradas para ayudar a facilitar el trabajo con cadenas. Aprendimos cómo crear cadenas, dividir cadenas, contar la longitud de cadenas, concatenar cadenas, multiplicar cadenas, formatear cadenas, trabajar con cadenas f, manejar el caso de cadenas, usar caracteres de escape en cadenas, buscar subcadenas en cadenas, dividir y unir cadenas, y mucho más.