Tipos de datos y casting
Tipos de datos
Entender los tipos de datos en Python es fundamental para declarar variables, asignarles valores y utilizarlos correctamente en nuestras aplicaciones. Si bien ya hemos aprendido cómo declarar variables, asignarles valores e imprimirlos, es crucial comprender qué tipo de dato estamos estableciendo en cada variable y cuándo debemos utilizar cada uno de ellos.
Tipo de Texto
str
Representa una cadena de caracteres.
nombre = "Nuria"
Tipos Numéricos
int
Representa un número entero.
edad = 25
float
Representa un número decimal.
precio = 19.99
complex
Representa un número complejo.
numero_complejo = 2 + 3j
Tipos de Secuencia
list
Representa una lista de elementos.
numeros = [1, 2, 3, 4, 5]
tuple
Representa una tupla inmutable.
punto = (10, 20)
range
Representa una secuencia de números.
rango = range(1, 6)
Tipo de Mapeo
dict
Representa un diccionario o mapa.
persona = {"nombre": "Nuria", "edad": 25}
Tipos de Conjunto
set
Representa un conjunto de elementos únicos.
conjunto = {1, 2, 3, 4, 5}
frozenset
Representa un conjunto inmutable.
conjunto_inmutable = frozenset({1, 2, 3})
Tipo Booleano
bool
Representa un valor verdadero o falso.
conectado = True
Tipos Binarios
bytes
Representa una secuencia de bytes.
datos_binarios = b"Hello"
bytearray
Representa una secuencia de bytes modificable.
datos_modificables = bytearray([65, 66, 67])
memoryview
Representa una vista de memoria de un objeto.
vista_memoria = memoryview(b"Hello")
Tipo None
NoneType
Representa un valor nulo o la ausencia de valor.
dato = None
Strings
Cortar cadenas
En Python, el rebanado de cadenas, también conocido como "slicing", es una técnica que nos permite extraer una parte específica de una cadena de caracteres. Esto se logra mediante el uso de índices que indican el inicio y el final de la porción de la cadena que deseamos obtener. El rebanado no modifica la cadena original, sino que crea una nueva cadena con la porción extraída.
Sintaxis: cadena[inicio:fin]
Índice positivo
Inicio:
Fín:
En este ejemplo, estamos obteniendo una porción de la cadena "Hola Mundo". El rebanado cadena[0:4] devuelve los caracteres desde el índice 0 hasta el índice 3 (el carácter en la posición 4 no está incluido). Esto nos da "Hola". Luego, el rebanado cadena[5:] devuelve los caracteres desde el índice 5 hasta el final de la cadena, lo que nos da "Mundo".
Índice negativo
También es posible utilizar índices negativos para contar desde el final de la cadena.
En este ejemplo, estamos usando índices negativos para contar desde el final de la cadena. El rebanado cadena[-5:-1] devuelve los caracteres desde el quinto carácter desde el final hasta el segundo carácter desde el final (el carácter en la posición -1 no está incluido), lo que nos da "Mund". Luego, el rebanado cadena[-5:] devuelve los caracteres desde el quinto carácter desde el final hasta el final de la cadena, lo que nos da "Mundo".
Corte con salto
En caso de que queramos extraer dos partes de la cadena se puede realizar mediante el salto o "step".
En este ejemplo, estamos usando un tercer parámetro para especificar el salto (step) entre los índices. El rebanado cadena[1:10:2] devuelve los caracteres desde el índice 1 hasta el índice 9 (el carácter en la posición 10 no está incluido) dando "bdfhj", saltando de dos en dos caracteres. Luego, el rebanado cadena[::3] devuelve todos los caracteres de la cadena, pero salta de tres en tres caracteres, lo que nos da "adgjm".
Modificar cadenas
En Python, las cadenas de caracteres son inmutables, lo que significa que una vez que se crea una cadena, no se puede modificar directamente. Sin embargo, hay varias formas de realizar modificaciones en una cadena y crear una nueva cadena con los cambios deseados.
Concatenación: Se puede utilizar para unir dos o más cadenas y crear una nueva cadena que contenga el contenido combinado.
Repetición: Se puede utilizar el operador de repetición * para repetir una cadena varias veces y crear una nueva cadena con la repetición.
Sustitución: Reemplazar una subcadena con otra en una cadena.
Conversión mayúsculas y minúsculas
Eliminación de espacios en blanco
Formatear
En Python, el formateo de cadenas permite crear cadenas de texto dinámicas al incorporar valores de variables dentro de ellas. Esto facilita la presentación de información de manera legible y estructurada. Python ofrece varias formas de formatear cadenas, y una de las más utilizadas es mediante el método format().
El método format() permite insertar valores de variables dentro de una cadena utilizando marcadores de posición. Los marcadores de posición son llaves {} que indican dónde se colocarán los valores de las variables. Luego, mediante el método format(), podemos especificar qué valores se insertarán en esos marcadores.
Además de utilizar los índices de posición, también es posible especificar nombres para los marcadores de posición y utilizarlos en el método format() mediante argumentos con nombres.
Caracteres de escape
Los caracteres de escape se utilizan para representar caracteres especiales dentro de una cadena. Estos caracteres comienzan con el símbolo de barra invertida \
seguido de un carácter que define la acción especial que se debe realizar.
\\
: Representa una barra invertida literal\
.\'
: Representa una comilla simple'
.\"
: Representa una comilla doble"
.
Además de estos caracteres de escape, Python también admite otros caracteres de escape para representar caracteres especiales, como \n para nueva línea, \t para tabulación horizontal, etc.
\'
Comilla Simple
\\
Barra Invertida
Nueva Línea
Retorno de Carro
Tabulación
\b
Retroceso
\f
Avance de Formato
\ooo
Valor Octal
\xhh
Valor Hexadecimal
Métodos
Los "métodos de cadena" son funciones incorporadas que se pueden utilizar para manipular y trabajar con cadenas de texto. Cada cadena en Python es un objeto y tiene asociado un conjunto de métodos que se pueden llamar para realizar diversas operaciones con la cadena.
capitalize()
Convierte el primer carácter a mayúscula
casefold()
Convierte la cadena en minúsculas
center()
Devuelve una cadena centrada
count()
Devuelve el número de veces que ocurre un valor especificado en una cadena
encode()
Devuelve una versión codificada de la cadena
endswith()
Devuelve verdadero si la cadena termina con el valor especificado
expandtabs()
Establece el tamaño de la tabulación de la cadena
find()
Busca un valor especificado en la cadena y devuelve la posición donde se encontró
format()
Formatea valores especificados en una cadena
format_map()
Formatea valores especificados en una cadena
index()
Busca un valor especificado en la cadena y devuelve la posición donde se encontró
isalnum()
Devuelve True si todos los caracteres de la cadena son alfanuméricos
isalpha()
Devuelve True si todos los caracteres de la cadena están en el alfabeto
isascii()
Devuelve True si todos los caracteres de la cadena son caracteres ascii
isdecimal()
Devuelve True si todos los caracteres de la cadena son decimales
isdigit()
Devuelve True si todos los caracteres de la cadena son dígitos
isidentifier()
Devuelve True si la cadena es un identificador
islower()
Devuelve True si todos los caracteres de la cadena están en minúsculas
isnumeric()
Devuelve True si todos los caracteres de la cadena son numéricos
isprintable()
Devuelve True si todos los caracteres de la cadena son imprimibles
isspace()
Devuelve True si todos los caracteres de la cadena son espacios en blanco
istitle()
Devuelve True si la cadena sigue las reglas de un título
isupper()
Devuelve True si todos los caracteres de la cadena están en mayúsculas
join()
Une los elementos de un iterable al final de la cadena
ljust()
Devuelve una versión justificada a la izquierda de la cadena
lower()
Convierte una cadena en minúsculas
lstrip()
Devuelve una versión de la cadena con recorte a la izquierda
maketrans()
Devuelve una tabla de traducción que se utilizará en traducciones
partition()
Devuelve una tupla donde la cadena se divide en tres partes
replace()
Devuelve una cadena donde se reemplaza un valor especificado con otro valor especificado
rfind()
Busca un valor especificado en la cadena y devuelve la última posición donde se encontró
rindex()
Busca un valor especificado en la cadena y devuelve la última posición donde se encontró
rjust()
Devuelve una versión justificada a la derecha de la cadena
rpartition()
Devuelve una tupla donde la cadena se divide en tres partes
rsplit()
Divide la cadena en el separador especificado y devuelve una lista
rstrip()
Devuelve una versión de la cadena con recorte a la derecha
split()
Divide la cadena en el separador especificado y devuelve una lista
splitlines()
Divide la cadena en saltos de línea y devuelve una lista
startswith()
Devuelve verdadero si la cadena comienza con el valor especificado
strip()
Devuelve una versión recortada de la cadena
swapcase()
Intercambia mayúsculas y minúsculas, mayúsculas se convierten en minúsculas y viceversa
title()
Convierte el primer carácter de cada palabra en mayúscula
translate()
Devuelve una cadena traducida
upper()
Convierte una cadena en mayúsculas
zfill()
Rellena la cadena con un número especificado de valores 0 al principio
Casting
En ocasiones, es posible que desees especificar un tipo para una variable en Python. Esto se puede lograr mediante el proceso de conversión de tipos, también conocido como "casting". Python es un lenguaje orientado a objetos, y utiliza clases para definir tipos de datos, incluyendo sus tipos primitivos.
El casting en Python se realiza mediante funciones constructoras:
int()
- construye un número entero a partir de un literal entero, un literal de punto flotante (eliminando todas las decimales), o un literal de cadena (siempre que la cadena represente un número entero).
float()
- construye un número de punto flotante a partir de un literal entero, un literal de punto flotante o un literal de cadena (siempre que la cadena represente un número de punto flotante o un número entero).
str()
- construye una cadena de caracteres a partir de una amplia variedad de tipos de datos, incluyendo cadenas de caracteres, literales enteros y literales de punto flotante.
Last updated