Strings¶
Los textos que maneja un programa son piezas de información formadas por una secuencia de caracteres. Se denominan cadenas de caracteres, en inglés, strings.
Tamaño de un string¶
La función len() acepta un texto como argumento y devuelve el número de caracteres, incluyendo espacios y cualquier símbolo tecleado por el usuario. La pulsación de la tecla Enter no cuenta como parte del texto que queda almacenado en la variable:
| lenTexto.py | |
|---|---|
1 2 | |
Al ejecutarse, muestra algo así como:
Introduzca un texto: Hola
Usted ha tecleado 4 caracteres
Examinando caracteres individuales¶
Veamos el siguiente programa
| Caracteres.py | |
|---|---|
1 2 3 4 5 | |
Al ejecutarse, muestra:
H
o
l
a
Cada carácter de un texto pueden obtenerse añadiendo al nombre de la variable un número índice entre corchetes. Los índices de una cadena de n caracteres van de cero a n-1.
Nótese que, cuando aplicamos un índice, lo que sucede es que obtenemos una nueva cadena formada por un único carácter:
| ExtraerCaracter.py | |
|---|---|
1 2 3 4 5 6 | |
Al ejecutarse, muestra:
Cadena completa: Hola
Primer carácter: H
Tamaño primera cadena: 4
Tamaño segunda cadena: 1
¿Por que los índices empiezan por cero?
Resulta un poco extraño que el segundo carácter sea texto[1], y el
tercero, texto[2]. Pero esto tiene una explicación.
Cuando el ordenador acude a una variabel de texto, lo que obtiene es el primer carácter de la cadena. Y lo que ponemos en el índice es el número de saltos necesarios para alcanzar el carácter deseado.
De esta forma, para obtener el segundo carácter hay que dar 1 salto, y para acceder al tercer carácter, toca dar dos saltos desde el principio de la cadena.
Para un principiante no habituado a estas cosas, resulta poco elegante, pero en la ejecución de programas, el ordenador se encuentra muy cómodo trabajando así.
Errores de índice¶
Para una cadena de tamaño n, un índice con valor n o mayor generará un error:
| OutOfRange.py | |
|---|---|
1 2 | |
Al ejecutarse, muestra un mensaje de error:
IndexError: string index out of range
Indices negativos¶
Un índice negativo permite contar los caracteres empezando por el final de la cadena:
| IndicesNegativos.py | |
|---|---|
1 2 3 4 5 | |
Al ejecutarse, muestra:
a
l
o
H
Considerando forma que:
Caracter H o l a
Indice positivo 0 1 2 3
Indice negativo -4 -3 -2 -1
De esta forma, el segundo carácter del final tiene índice -2, y el tercero, -3. Siempre se cumple la regla siguiente:
indice negativo = indice positivo - len(texto)