Python 3 - Cuerdas

Las cadenas se encuentran entre los tipos más populares de Python. Podemos crearlos simplemente entre comillas. Python trata las comillas simples de la misma forma que las comillas dobles. Crear cadenas es tan simple como asignar un valor a una variable. Por ejemplo

var1 = 'Hello World!'
var2 = "Python Programming"

Acceder a valores en cadenas

Python no admite un tipo de carácter; estos se tratan como cadenas de longitud uno, por lo que también se consideran una subcadena.

Para acceder a las subcadenas, use los corchetes para cortar junto con el índice o índices para obtener su subcadena. Por ejemplo

#!/usr/bin/python3

var1 = 'Hello World!'
var2 = "Python Programming"

print ("var1[0]: ", var1[0])
print ("var2[1:5]: ", var2[1:5])

Cuando se ejecuta el código anterior, produce el siguiente resultado:

var1[0]:  H
var2[1:5]:  ytho

Actualizar cadenas

Puede "actualizar" una cadena existente (re) asignando una variable a otra cadena. El nuevo valor puede estar relacionado con su valor anterior o con una cadena completamente diferente. Por ejemplo

#!/usr/bin/python3

var1 = 'Hello World!'
print ("Updated String :- ", var1[:6] + 'Python')

Cuando se ejecuta el código anterior, produce el siguiente resultado:

Updated String :-  Hello Python

Personajes de escape

La siguiente tabla es una lista de caracteres de escape o no imprimibles que se pueden representar con notación de barra invertida.

Se interpreta un carácter de escape; en cadenas de comillas simples y dobles.

Notación de barra invertida Carácter hexadecimal Descripción
\un 0x07 Campana o alerta
\segundo 0x08 Retroceso
\ cx Control-x
\ Cx Control-x
\mi 0x1b Escapar
\F 0x0c Formfeed
\ M- \ Cx Meta-Control-x
\norte 0x0a Nueva línea
\ nnn Notación octal, donde n está en el rango 0,7
\ r 0x0d Retorno de carro
\ s 0x20 Espacio
\ t 0x09 Lengüeta
\ v 0x0b Pestaña vertical
\X Personaje x
\ xnn Notación hexadecimal, donde n está en el rango 0,9, af o AF

Operadores especiales de cadena

Asumir variable de cadena a contiene 'Hola' y variable b sostiene 'Python', luego -

Operador Descripción Ejemplo
+ Concatenación: agrega valores a ambos lados del operador a + b dará HelloPython
* Repetición: crea nuevas cadenas, concatenando varias copias de la misma cadena un * 2 dará -Hola, hola
[] Slice: da el carácter del índice dado a [1] dará e
[:]Rebanada de rango: da a los personajes del rango dado a [1: 4] dará ell
enMembresía: devuelve verdadero si existe un carácter en la cadena dadaH en a dará 1
no en Membresía: devuelve verdadero si un carácter no existe en la cadena dada M no en un daré 1
r / R Cadena sin formato: suprime el significado real de los caracteres de escape. La sintaxis de las cadenas sin formato es exactamente la misma que la de las cadenas normales, con la excepción del operador de cadena sin formato, la letra "r", que precede a las comillas. La "r" puede ser minúscula (r) o mayúscula (R) y debe colocarse inmediatamente antes de la primera comilla. imprime r '\ n' impresiones \ ny imprime R '\ n' impresiones \ n
% Formato: realiza el formato de cadena Ver en la siguiente sección

Operador de formato de cadena

Una de las características más interesantes de Python es el operador de formato de cadena%. Este operador es exclusivo de las cadenas y compensa el paquete de funciones de la familia printf () de C. A continuación se muestra un ejemplo simple:

#!/usr/bin/python3

print ("My name is %s and weight is %d kg!" % ('Zara', 21))

Cuando se ejecuta el código anterior, produce el siguiente resultado:

My name is Zara and weight is 21 kg!

Aquí está la lista del conjunto completo de símbolos que se pueden usar junto con% -

No Señor. Símbolo de formato y conversión
1

%c

personaje

2

%s

conversión de cadenas a través de str () antes de formatear

3

%i

entero decimal con signo

4

%d

entero decimal con signo

5

%u

entero decimal sin signo

6

%o

entero octal

7

%x

entero hexadecimal (letras minúsculas)

8

%X

entero hexadecimal (letras MAYÚSCULAS)

9

%e

notación exponencial (con 'e' minúscula)

10

%E

notación exponencial (con MAYÚSCULAS 'E')

11

%f

número real de coma flotante

12

%g

el más corto de% f y% e

13

%G

el más corto de% f y% E

En la siguiente tabla se enumeran otros símbolos y funciones compatibles:

No Señor. Símbolo y funcionalidad
1

*

argumento especifica ancho o precisión

2

-

justificación a la izquierda

3

+

mostrar el letrero

4

<sp>

dejar un espacio en blanco antes de un número positivo

5

#

agregue el cero inicial octal ('0') o el inicial hexadecimal '0x' o '0X', dependiendo de si se utilizó 'x' o 'X'.

6

0

pad de izquierda a derecha con ceros (en lugar de espacios)

7

%

'%%' te deja con un solo literal '%'

8

(var)

variable de mapeo (argumentos de diccionario)

9

m.n.

m es el ancho total mínimo yn es el número de dígitos que se mostrarán después del punto decimal (si corresponde)

Cotizaciones triples

Las comillas triples de Python vienen al rescate al permitir que las cadenas abarquen varias líneas, incluidas las NEWLINEs textuales, TAB y cualquier otro carácter especial.

La sintaxis de las comillas triples consta de tres single or double citas.

#!/usr/bin/python3

para_str = """this is a long string that is made up of
several lines and non-printable characters such as
TAB ( \t ) and they will show up that way when displayed.
NEWLINEs within the string, whether explicitly given like
this within the brackets [ \n ], or just a NEWLINE within
the variable assignment will also show up.
"""
print (para_str)

Cuando se ejecuta el código anterior, produce el siguiente resultado. Observe cómo cada carácter especial se ha convertido a su forma impresa, hasta la última NEWLINE al final de la cadena entre "arriba". y cierre de comillas triples. También tenga en cuenta que las NEWLINEs ocurren con un retorno de carro explícito al final de una línea o su código de escape (\ n) -

this is a long string that is made up of
several lines and non-printable characters such as
TAB (    ) and they will show up that way when displayed.
NEWLINEs within the string, whether explicitly given like
this within the brackets [
 ], or just a NEWLINE within
the variable assignment will also show up.

Las cadenas sin formato no tratan la barra invertida como un carácter especial en absoluto. Cada carácter que pones en una cadena cruda permanece como lo escribiste:

#!/usr/bin/python3

print ('C:\\nowhere')

Cuando se ejecuta el código anterior, produce el siguiente resultado:

C:\nowhere

Ahora hagamos uso de una cuerda sin procesar. Pondríamos expresión enr'expression' como sigue -

#!/usr/bin/python3

print (r'C:\\nowhere')

Cuando se ejecuta el código anterior, produce el siguiente resultado:

C:\\nowhere

Cadena Unicode

En Python 3, todas las cadenas están representadas en Unicode, en Python 2 se almacenan internamente como ASCII de 8 bits, por lo que es necesario adjuntar 'u' para convertirlo en Unicode. Ya no es necesario ahora.

Métodos de cadena incorporados

Python incluye los siguientes métodos integrados para manipular cadenas:

No Señor. Métodos y descripción
1 capitalizar()

Capitaliza la primera letra de la cadena

2 centro (ancho, relleno)

Devuelve una cadena rellenada con fillchar con la cadena original centrada en un total de columnas de ancho .

3 count (str, beg = 0, end = len (string))

Cuenta cuántas veces aparece str en una cadena o en una subcadena de cadena si se dan el inicio del índice inicial y el final del índice final.

4 decodificar (codificación = 'UTF-8', errores = 'estricto')

Decodifica la cadena utilizando el códec registrado para la codificación. codificación tiene como valor predeterminado la codificación de cadena predeterminada.

5 codificar (codificación = 'UTF-8', errores = 'estricto')

Devuelve la versión de cadena codificada de la cadena; en caso de error, el valor predeterminado es generar un ValueError a menos que se indiquen errores con 'ignorar' o 'reemplazar'.

6 termina con (sufijo, inicio = 0, fin = longitud (cadena))

Determina si la cadena o una subcadena de cadena (si se dan el inicio del índice inicial y el final del índice final) termina con el sufijo; devuelve verdadero si es así y falso en caso contrario.

7 expandtabs (tabsize = 8)

Expande las pestañas en cadena a varios espacios; el valor predeterminado es 8 espacios por pestaña si no se proporciona el tamaño de la pestaña.

8 buscar (str, beg = 0 end = len (string))

Determine si str ocurre en una cadena o en una subcadena de cadena si se dan inicio del índice inicial y final del índice final devuelve índice si se encuentra y -1 en caso contrario.

9 índice (str, beg = 0, end = len (string))

Igual que find (), pero genera una excepción si no se encuentra str.

10 isalnum ()

Devuelve verdadero si la cadena tiene al menos 1 carácter y todos los caracteres son alfanuméricos y falso en caso contrario.

11 isalpha ()

Devuelve verdadero si la cadena tiene al menos 1 carácter y todos los caracteres son alfabéticos y falso en caso contrario.

12 isdigit ()

Devuelve verdadero si la cadena contiene solo dígitos y falso en caso contrario.

13 es bajo()

Devuelve verdadero si la cadena tiene al menos 1 carácter en mayúsculas y todos los caracteres en mayúscula están en minúsculas y falso en caso contrario.

14 isnumeric ()

Devuelve verdadero si una cadena Unicode contiene solo caracteres numéricos y falso en caso contrario.

15 isspace ()

Devuelve verdadero si la cadena contiene solo caracteres de espacio en blanco y falso en caso contrario.

dieciséis istitle ()

Devuelve verdadero si la cadena está correctamente "titulada" y falsa en caso contrario.

17 isupper ()

Devuelve verdadero si la cadena tiene al menos un carácter en mayúsculas y todos los caracteres en mayúscula y falso en caso contrario.

18 unirse (seq)

Fusiona (concatena) las representaciones de cadena de elementos en secuencia seq en una cadena, con cadena de separación.

19 len (cuerda)

Devuelve la longitud de la cadena.

20 ljust (ancho [, fillchar])

Devuelve una cadena rellenada con espacios con la cadena original justificada a la izquierda hasta un total de columnas de ancho.

21 inferior()

Convierte todas las letras mayúsculas en una cadena a minúsculas.

22 lstrip ()

Elimina todos los espacios en blanco iniciales de la cadena.

23 maketrans ()

Devuelve una tabla de traducción que se utilizará en la función de traducción.

24 max (str)

Devuelve el carácter alfabético máximo de la cadena str.

25 min (str)

Devuelve el carácter alfabético mínimo de la cadena str.

26 reemplazar (antiguo, nuevo [, máximo])

Reemplaza todas las apariciones de lo antiguo en la cadena por nuevas o como máximo las apariciones máximas si se indica el máximo.

27 rfind (str, beg = 0, end = len (string))

Igual que find (), pero busca hacia atrás en la cadena.

28 rindex (str, beg = 0, end = len (string))

Igual que index (), pero busca hacia atrás en la cadena.

29 rjust (ancho, [, fillchar])

Devuelve una cadena rellenada con espacios con la cadena original justificada a la derecha hasta un total de columnas de ancho.

30 rstrip ()

Elimina todos los espacios en blanco finales de la cadena.

31 split (str = "", num = string.count (str))

Divide la cadena de acuerdo con el delimitador str (espacio si no se proporciona) y devuelve la lista de subcadenas; dividir en un máximo de num subcadenas si se dan.

32 splitlines (num = string.count ('\ n'))

Divide la cadena en todas (o en número) NEWLINEs y devuelve una lista de cada línea sin NEWLINEs.

33 empieza con (str, beg = 0, end = len (string))

Determina si la cadena o una subcadena de la cadena (si se dan el inicio del índice inicial y el final del índice final) comienza con la subcadena str; devuelve verdadero si es así y falso en caso contrario.

34 tira ([caracteres])

Realiza tanto lstrip () como rstrip () en una cadena

35 swapcase ()

Invierte mayúsculas y minúsculas para todas las letras de la cadena.

36 título()

Devuelve la versión "con título" de la cadena, es decir, todas las palabras comienzan en mayúsculas y el resto en minúsculas.

37 traducir (tabla, deletechars = "")

Traduce la cadena de acuerdo con la tabla de traducción str (256 caracteres), eliminando los de la cadena del.

38 Superior()

Convierte letras minúsculas en una cadena a mayúsculas.

39 zfill (ancho)

Devuelve la cadena original rellenada a la izquierda con ceros hasta un total de caracteres de ancho; destinado a números, zfill () conserva cualquier signo dado (menos un cero).

40 isdecimal ()

Devuelve verdadero si una cadena Unicode contiene solo caracteres decimales y falso en caso contrario.