Python: Cadenas de caracteres

Las cadenas de caracteres en Python son secuencias inmutables de caracteres unicode.

Podéis consultar los caracteres unicode aquí.

Las cadenas en Python se pueden declarar encerradas entre comillas simples (‘), comillas dobles (“), triples comillas simples (”’) o triples comillas dobles (“””).

Las comillas simples y las dobles permiten declarar cadenas de una sola línea:

cadena1 = 'Hello world'
cadena2 = "Hello world"

Las comillas triples (tanto simples como dobles) permiten declarar cadenas de varias líneas:

cadena1 = '''Hello
world'''
cadena2 = """Hello
world"""

Las comillas triples dobles, además, sirven para escribir comentarios de varias líneas en el código.

"""Esto es un comentario de varias
lineas y el interprete lo ignorará"""

Anuncios:

Python Programming
Aprende Python 3 en un fin de semana
Aplicaciones gráficas con Python 3

Operaciones

Estas son algunas de las funciones que nos proporciona Python que se pueden usar con cadenas para realizar operaciones con ellas.

  • len(cadena): Devuelve el número de caracteres que contiene la cadena.
cadena = "Hello world"
n = len(cadena)
print (n)

La salida del fragmento de código será 11.

  • min(cadena): Devuelve el carácter con el valor unicode más bajo de la cadena.
cadena = "Helloworld"
n = min(cadena)
print (n)

La salida del fragmento de código será ‘H’. He quitado el espacio de la cadena intencionadamente puesto que su valor unicode es menor que el del resto de caracteres, por tanto, se imprimiría el espacio, no es incorrecto, pero visualmente no queda tan claro si queréis probar el código.

  • max(cadena): Devuelve el carácter con el valor unicode más alto de la cadena.
cadena = "Hello world"
n = max(cadena)
print (n)

La salida sería el carácter ‘w’.

Operadores

Además de las funciones, podemos utilizar operadores para realizar operaciones con cadenas. Vamos a ver dos, el operador de concatenación (+) y el operador de repetición (*).

  • +: Este operador permite concatenar dos cadenas (cad1 + cad2). El resultado será una tercera cadena con la concatenación de las dos anteriores.
cadena1 = "Hello"
cadena2 = "world"
cadena3 = cadena1 + cadena2
print(cadena3)

El resultado de la concatenación del ejemplo será ‘Helloworld’.

  • *: Permite repetir una cadena tantas veces como se le indique tras el operador (cadena * nRepeticiones). El resultado será una nueva cadena con la concatenación de si misma tantas veces como se haya indicado.
cadena1 = "Hello"
cadena2 = cadena1 * 3
print(cadena2)

La salida generada sería ‘HelloHelloHello’ puesto que se ha escrito un 3 después del operador.

Índices

Los caracteres de una cadena ocupan posiciones consecutivas en memoria. 

Los índices permiten acceder a los caracteres de la cadena (solo lectura) por posición. Las posiciones de la cadena se empiezan a contar desde 0.

Se utiliza el operador corchetes [índice] para indicar la posición a la que se quiere acceder.

Supongamos que queremos acceder a las posiciones 2 y 6 de la cadena del ejemplo:

cadena = 'Hello world!'
cadena[2]
cadena[6]

El resultado sería ‘l’ para la posición 2 y ‘w’ para la posición 6.

Si se intenta acceder a una posición fuera del rango de posiciones de la cadena se producirá un error en ejecución.

cadena = 'Hello world!'
cadena[12]

En el ejemplo, cadena[12] produciría un error de tipo IndexError:

Traceback (most recent call last):
  File "Main.py", line 2, in <module&gt;
    cadena[12]
IndexError: string index out of range

Subcadenas

Los indices también nos servirán para extraer subcadenas de una cadena indicando rangos de índices.

  • cadena [ :end ]: Devuelve una nueva cadena con los caracteres de la original desde la posición 0 incluida hasta la posición end excluida .
cadena = "Hello world!"
subcadena = cadena [:5]
print(subcadena)

La subcadena resultante sería ‘Hello’.

  • cadena [ start: ]: Devuelve una nueva cadena con los caracteres de la original desde la posición start incluida hasta la posición posición final incluida.
cadena = "Hello world!"
subcadena = cadena [2:]
print(subcadena)

El resultado sería ‘llo world!’.

  • cadena [ start:end ]: Devuelve una nueva cadena con los caracteres de la original desde la posición start incluida hasta la posición end excluida.
cadena = "Hello world!"
subcadena = cadena [1:5]
print(subcadena)

La cadena resultante sería ‘ello’.

  • cadena [ start:end:steps ]: Devuelve una nueva cadena con los caracteres de la original desde la posición start incluida hasta la posición end excluida con steps saltos.
cadena = "Hello world!"
subcadena = cadena [0:5:2]
print(subcadena)

Si la operación fuese cadena[0:5] el resultado sería ‘Hello’. Como se están indicando 2 saltos (:2) toma un carácter de cada 2 dentro del rango indicado:

Por tanto la salida será ‘Hlo’.

En el próximo artículo veremos funciones de la clase str.

Sígueme:

Deja una respuesta

Subir ↑