- Constantes Numéricas
Los valores numéricos en Python son inmutables y se clasifican en:
- Enteros (int): Representan números enteros sin decimales (por ejemplo, 42). En Python 3, no existe el tipo Long, ya que los enteros pueden crecer hasta el límite de memoria disponible del sistema.
- Flotantes (float): Representan números con punto decimal, incluyendo notación científica (por ejemplo, 3.14 o 52.3E-4).
- Complejos (complex): Representan números complejos con parte real e imaginaria (por ejemplo, -5+4j o creado con complex(a, b)).
- Constantes de Cadenas de Texto
2.1. Características de las cadenas de texto en Python:
- Las cadenas de texto son inmutables; una vez creadas, no pueden modificarse.
- Se pueden crear con comillas simples (') para mantener caracteres literales, comillas dobles ("), o comillas triples (''' o """) para cadenas multilínea.
- El carácter \ al final de una línea indica continuidad, permitiendo que una línea de código se extienda en múltiples líneas físicas.
- Cadenas naturales: Con el prefijo r o R, se indica que no se deben procesar secuencias de escape. Por ejemplo: r'los saltos de línea se indican con \n'.
- Cadenas Unicode: Con el prefijo u o U, se especifican cadenas que contienen caracteres no ASCII, como u'una cadena con acentos'.
- Concatenación de cadenas: Al colocar dos cadenas adyacentes, Python las une automáticamente. Por ejemplo: '¿Qué' ' tal?' se convierte en '¿Qué tal?'.
- Para expresiones regulares, es preferible usar cadenas naturales para evitar barras invertidas adicionales.
2.2. Función útil: limpiar_cadena()
texto.limpiar('x') # Elimina el carácter especificado al inicio y final del texto, por defecto elimina espacios en blanco. texto.limpiar_izquierda('x') # Similar a limpiar(), pero solo elimina caracteres al inicio. texto.limpiar_derecha('x') # Similar a limpiar(), pero solo elimina caracteres al final.
Nota: Si se especifican múltiples caracteres, se eliminan individualmente, no como grupo: 'abcde'.limpiar('cake') # Devuelve 'bcd', eliminando todas las 'c', 'a', 'k', 'e' al inicio y final. '30.01%'.limpiar('.01%') # Devuelve '3', eliminando '.', '0', '1', '%' al inicio y final.
Se recomienda evitar especificar múltiples caracteres con esta función.
2.3. Función útil: contar_subcadena(sub[, inicio[, fin]])
Devuelve el número de veces que aparece sub en el texto. Si se especifican inicio o fin, busca solo en ese rango. Parámetros:
- sub: La subcadena a buscar;
- inicio: Posición inicial de búsqueda, por defecto 0;
- fin: Posición final de búsqueda, por defecto longitud del texto;
Ejemplo:
>>> texto = '1abc2abc3abc'
>>> texto.contar('abc') # 'abc' aparece 3 veces;
3
>>> texto.contar('abc', 0, 3) # fin=3 no incluye el carácter en índice 3, devuelve 0;
0
>>> texto.contar(sub='abc') # No se pueden usar argumentos con nombre;
TypeError: contar() no acepta argumentos con nombre
2.4. Función útil: buscar_subcadena(sub[, inicio[, fin]]), ver también buscar_desde_final()
Detecta si el texto contiene la subcadena especificada; Devuelve:
- El índice de la primera aparición (buscar_subcadena busca desde la izquierda, buscar_desde_final desde la derecha)
- -1 si no encuentra la subcadena;
Parámetros:
- sub: La subcadena a buscar;
- inicio: Posición inicial, por defecto 0;
- fin: Posición final, por defecto longitud del texto;
Ejemplo:
>>> frase = 'Esta es una frase de prueba'
>>> busqueda = 'es'
>>> frase.buscar(busqueda) # 2, devuelve el índice inicial de busqueda en frase.
2
>>> frase.buscar(busqueda.upper()) # 'ES' no está en frase, devuelve -1
-1
>>> frase.buscar(busqueda, 2) # Busca desde el índice 2
2.5. Conversión de mayúsculas y minúsculas texto.mayusculas(), texto.minusculas(), texto.invertir_caso()
Convierte letras a mayúsculas/minúsculas/invierte caso
>>> frase = 'abcDEF'
>>> mayus = frase.mayusculas()
>>> mayus
'ABCDEF'
>>> minus = frase.minusculas()
>>> minus
'abcdef'
>>> invertido = frase.invertir_caso()
>>> invertido
'ABCdef'
- Variables
- Los nombres de variables no pueden comenzar con un dígito y son sensibles a mayúsculas y minúsculas.
- Tipos de datos básicos: números y cadenas de texto (también es posible crear tipos personalizados mediante clases).
- Python considera cualquier elemento en el programa (números, cadenas, funciones, etc.) como objetos.
- A diferencia de C, Python no requiere declarar variables ni especificar tipos de datos; Python determina el tipo automáticamente.
- A diferencia de Perl, Python no realiza conversiones automáticas entre tipos de datos.
- Conversiones de tipos de datos:
| Función de conversión | Descripción |
|---|---|
| convertir_a_entero(x) | Convierte x a entero |
| convertir_a_flotante(x) | Convierte x a número de punto flotante |
| convertir_a_complejo(x) | Convierte x a número complejo, parte real x, imaginaria 0 |
| convertir_a_complejo(x, y) | Convierte x a número complejo, parte real x, imaginaria y |
Ejemplos:
>>> convertir_a_entero('123')
123
>>> convertir_a_entero(12.34)
12
>>> convertir_a_flotante('12.34')
12.34
>>> convertir_a_texto(1.23)
'1.23'
>>> convertir_a_texto(100)
'100'
>>> convertir_a_booleano(1)
Verdadero
>>> convertir_a_booleano(0)
Falso
>>> convertir_a_booleano('')
Falso
>>> convertir_a_booleano('0') # Cadenas no vacías son verdaderas
Verdadero