Python - 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/python
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/python
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 una cadena entre comillas simples y entre comillas 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 |
en | Membresía: devuelve verdadero si existe un carácter en la cadena dada | H 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/python
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% -
Símbolo de formato | Conversión |
---|---|
%C | personaje |
% s | conversión de cadenas a través de str () antes de formatear |
%yo | entero decimal con signo |
%re | entero decimal con signo |
% u | entero decimal sin signo |
% o | entero octal |
%X | entero hexadecimal (letras minúsculas) |
%X | entero hexadecimal (letras MAYÚSCULAS) |
%mi | notación exponencial (con 'e' minúscula) |
%MI | notación exponencial (con MAYÚSCULAS 'E') |
%F | número real de coma flotante |
%gramo | el más corto de% f y% e |
%GRAMO | el más corto de% f y% E |
En la siguiente tabla se enumeran otros símbolos y funciones compatibles:
Símbolo | Funcionalidad |
---|---|
* | argumento especifica ancho o precisión |
- | justificación a la izquierda |
+ | mostrar el letrero |
<sp> | dejar un espacio en blanco antes de un número positivo |
# | agregue el cero inicial octal ('0') o el inicial hexadecimal '0x' o '0X', dependiendo de si se usaron 'x' o 'X'. |
0 | pad de izquierda a derecha con ceros (en lugar de espacios) |
% | '%%' te deja con un solo literal '%' |
(var) | variable de mapeo (argumentos de diccionario) |
Minnesota | 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/python
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 sin procesar permanece como lo escribiste:
#!/usr/bin/python
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/python
print r'C:\\nowhere'
Cuando se ejecuta el código anterior, produce el siguiente resultado:
C:\\nowhere
Cadena Unicode
Las cadenas normales en Python se almacenan internamente como ASCII de 8 bits, mientras que las cadenas Unicode se almacenan como Unicode de 16 bits. Esto permite un conjunto de caracteres más variado, incluidos caracteres especiales de la mayoría de los idiomas del mundo. Restringiré mi tratamiento de cadenas Unicode a lo siguiente:
#!/usr/bin/python
print u'Hello, world!'
Cuando se ejecuta el código anterior, produce el siguiente resultado:
Hello, world!
Como puede ver, las cadenas Unicode usan el prefijo u, al igual que las cadenas sin formato usan el prefijo r.
Métodos de cadena incorporados
Python incluye los siguientes métodos integrados para manipular cadenas:
No Señor. | Métodos con descripción |
---|---|
1 | capitalizar() Capitaliza la primera letra de la cadena |
2 | centro (ancho, relleno) Devuelve una cadena con espacios rellenos 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. |
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 indique un error 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 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úsculas 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áx.]) 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 | comienza con (str, beg = 0, end = len (string)) Determina si la cadena o una subcadena de 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 con 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. |