Líneas. Resumen

Una cadena - es una lista (o secuencia) de caracteres ubicados en un bien particular. La secuencia completa de caracteres se trata como un solo objeto.

Un carácter es cualquier cosa que puede escribir en el teclado con una sola pulsación de tecla (letra, número, barra invertida o algún otro carácter).

Las cadenas pueden tener espacios: "¡Hola mundo!".

Una cadena vacía es una cadena que tiene 0 caracteres.

Python acepta como cadenas todo lo que esté entre comillas (" ") o apóstrofes (' ').

En Python, una cadena es del tipo str.
 
¡Necesito recordar!
¡Las cadenas en Python son inmutables!


Puede escribir un nuevo valor en una cadena usando la declaración de entrada
s = entrada()

También puede simplemente asignar un valor de cadena a la variable, como  
s = 'Python'
más o menos
s = "Pitón"

Puede determinar la longitud de una cadena usando la función integrada len()
n = longitud(es)


Comparación de cadenas

Las cadenas se pueden comparar entre sí al igual que los números. Puedes determinar cuál de las líneas es mayor, cuál es menor.

Al comparar cadenas, se comparan los códigos de caracteres. Hay docenas, si no cientos, de codificaciones de caracteres. La forma más fácil de entender este concepto es entender uno de los más simples, ASCII (lea aquí).  

Es necesario comprender que en las codificaciones modernas, tanto las letras rusas como las inglesas están ordenadas alfabéticamente, los números también van de menor a mayor. 
Por ejemplo, en la tabla de códigos ASCII, el código de la letra inglesa 'A' - 65, letras 'a' - 97, dígito '0' tiene el código 48. Las letras rusas se encuentran en la parte extendida de la tabla de códigos ASCII (números del 128 al 255). Las mayúsculas van antes (es decir, tienen un código más pequeño) que las minúsculas.

En la mayoría de las tablas de codificación utilizadas, los patrones son los mismos, las letras minúsculas son posteriores a las mayúsculas, los números son anteriores a las letras y las letras rusas son posteriores a las inglesas.
 
Al comparar caracteres o cadenas, Python convierte los caracteres a sus respectivos valores ordinales y luego los compara de izquierda a derecha. 

Por ejemplo: "locomotora"  < "steamboat", porque las palabras difieren en la quinta letra y "en" < "x".

Dividir una línea en partes

Al ingresar una cadena, puede dividirla inmediatamente en partes con cualquier separador.
Hemos hecho esto antes cuando ingresamos varias variables numéricas en la misma línea. Utilizamos el método split() para dividir una cadena en partes. De forma predeterminada, separa las cadenas en subcadenas por espacio.
Con este método, puede dividir la cadena en partes, por ejemplo, por espacios. Y escribe cada parte de la cadena en una variable separada.
 
Ejemplo
s1, s2 = entrada().split()

En el ejemplo, al ingresar dos palabras separadas por un espacio, la primera palabra se almacena en la variable s1, la segunda, en la variable s2.

Suma y multiplicación de cadenas

Se pueden agregar cadenas, para esto se usa el signo "+". Esta operación se denomina concatenación de cadenas o concatenación
 
Ejemplo
s = "Hola",
s1 = "mundo"
imprimir(s + s1)
La pantalla mostrará la frase "Hola mundo" (sin comillas).

Python implementa la operación de multiplicar una cadena por un número: reemplaza la suma múltiple.
 
Ejemplo
cadena
s = "mundo "+"mundo "+"mundo "+"mundo "
se puede reemplazar por  
s = "mundo " *4

Refiriéndose a índices de fila

Cada carácter de una cadena tiene un número (llamado índice), y la numeración siempre comienza desde cero en muchos idiomas.
En Python, puede especificar índices negativos. Esto significa que cuenta desde el final de la línea.
 
Ejemplo

Si agrega la longitud de la cadena al índice negativo, obtiene un "normal" posición del personaje.
 
¡Necesito recordar!
En Python, no puede cambiar un solo carácter en una cadena, porque las propias cadenas son inmutables. 

Cadena S H e l l o
Índice S[0] S[1] S[2] S[3] S[4]
Índice S[-5] S[-4] S[-3] S[-2] S[-1]

Iterar sobre todos los caracteres

Dado que se puede acceder a un carácter por índice, puede usar un bucle variable para iterar sobre todos los caracteres, lo que tomará posibles valores de índice. Por ejemplo, un programa que muestra todos los códigos de caracteres de la cadena s se vería así para i en el rango (len(s)): imprimir(s[i], ord(s[i])) Explicaciones para el programa:
1) La función len(s) encuentra la longitud de una cadena. El índice del primer carácter es 0 y el índice del último es len(s)-1. La variable de bucle i simplemente tomará valores secuencialmente desde 0 hasta len(s)-1.
2) En cada línea, primero se mostrará el símbolo en sí y luego su código, que es devuelto por la función integrada ord().

La misma enumeración se puede escribir más corta: para c en s: imprimir (c, ord (c)) En este fragmento, el encabezado del bucle recorre todos los caracteres s, colocándolos a su vez en la variable c.

Como ya se mencionó, la peculiaridad de Python cuando se trabaja con cadenas es que las cadenas son objetos inmutables. En otras palabras, no podemos cambiar los caracteres individuales de una cadena.

Por ejemplo, la siguiente declaración no funcionará s[5]='a' Pero puede componer una nueva línea a partir de los caracteres con los cambios necesarios.
 
Tarea
En la cadena de entrada, reemplace todos los caracteres 'a' a los caracteres 'b'.  s = entrada() sNuevo = "" para c en s: si c == 'a': c = 'b' sNuevo += c imprimir(sNuevo)
En este programa, el bucle pasa por todos los caracteres de la cadena s. En el cuerpo del ciclo, verificamos el valor de la variable с: si el símbolo coincide con el símbolo 'a', entonces lo reemplazamos con 'b< /code>' y agréguelo al final de la nueva línea sNew usando el operador de suma.
Esta opción es bastante lenta.

En el futuro, echaremos un vistazo a las funciones integradas de manipulación de cadenas y aprenderemos cómo hacerlo más rápido.