Repositorio: python_desde_cero_2024 - fecha: 17/12/2024
2.0 Tipos de datos (Estas aquí)
2.1 Variables
2.2 Operadores
Nota. Los temas adjuntos son la continuación del tema principal, ordenados en forma de indice numeral. RECOMENDADO NO SALTÁRSELOS
En programación, un dato es cualquier tipo de información que puedes almacenar y manipular en tu programa. Puede ser un número, una palabra, una lista de cosas, o incluso algo más complejo como la información de un estudiante. Los datos son los bloques básicos con los que trabajas cuando creas programas.
En términos mas técnicos, un dato es una representación simbólica de información que puede ser almacenada, manipulada y transmitida por un programa. Los datos pueden ser de diferentes tipos, como numéricos, textuales, lógicos, etc.
En Python, siendo un lenguaje de programación de alto nivel y dinámicamente tipado 1, gestiona los datos mediante objetos. Todo en Python es un objeto, incluidas las variables y los valores primitivos.
En Python, los datos se definen mediante clases y tipos incorporados. Cuando asignas un valor a una variable, Python automáticamente crea un objeto de la clase correspondiente para ese tipo de dato y gestiona la memoria para almacenar este valor. Por ejemplo, al asignar x = 5
, Python crea un objeto entero con el valor 5.
En Python, un dato como cualquier entidad que puede ser almacenada en la memoria y manipulada por el programa. Los datos en Python están estructurados como objetos de diversas clases incorporadas, tales como int
, float
, str
, list
, dict
, set
, tuple
y bool
.
A continuación mostrare de manera mas detallada cada uno de estos:
-
Enteros (
int
): Python usa una representación de enteros que permite almacenar números de tamaño arbitrario, solo limitado por la memoria disponible. Los enteros en Python son objetos de la claseint
. Se plasman escribiendo directamente el numero.a = 10 b = -5
-
Flotantes (
float
): Los números de punto flotante son aquellos que comúnmente conocemos como decimales. En Python siguen el estándar IEEE 754 de doble precisión, que usa 64 bits para representar el número. Los flotantes son instancias de la clasefloat
.PI = 3.14159 decimal = -.023 uno = 0.99999999
Python soporta múltiples formas de representar números, incluyendo la notación científica, que utiliza la letra e para denotar potencias de 10.
numero = 3.14e2 print(numero) # Salida: 314.0
Python permite la representación de números en diferentes bases numéricas:
- Hexadecimal: Utiliza el prefijo 0x o 0X.
- Binario: Utiliza el prefijo 0b o 0B.
- Octal: Utiliza el prefijo 0o o 0O.
hexadecimal = 0x1a binario = 0b1010 octal = 0o12 print(hexadecimal) # Salida: 26 print(binario) # Salida: 10 print(octal) # Salida: 10
-
Cadenas de texto (
str
): Las cadenas en Python son inmutables, lo que significa que no pueden ser modificadas después de su creación. Están implementadas como objetos de la clasestr
. Este tipo de dato se crea al escribir entre comillas simples o dobles.mensaje = "Hola, mundo" saludo = 'Saludos desde python'
Python no permite escribir este tipo de dato anidando comillas del mismo tipo.
#Esto no es valido mensaje = "Vivo en "mexico"" #Esto es correcto mensaje = 'Vivo en "mexico"' #Posible solución mensaje = "Vivo en \"mexico\""
En el ultimo caso, si funciona, esto debido a que el carácter
\
en Python se conoce como el carácter de escape2. Se utiliza para introducir secuencias de escape en cadenas de texto y para continuar líneas de código largas en la siguiente línea.Otras características aplicables a este tipo de datos es la
concatenación
que no es mas que el acto de unir strings mediante el operador+
. También es posible multiplicar los strings con el operador*
y sera equivalente a escribir seguidamente el mismo texto uno detrás de otro.mensaje = "texto" * 3 print(mensaje) # Salida: textotextotexto mensaje = "hola" + "me" + "llamo" + 'pablos' print(mensaje) # Salida: Holamellamopablo
-
Booleanos (
bool
): Los booleanos son un subclase de enteros en Python.True
yFalse
son equivalentes a 1 y 0, respectivamente.es_verdadero = True es_falso = False
En Python, ciertos valores se consideran equivalentes a False cuando se evalúan en un contexto booleano, como en una condición if o en un operador lógico. Estos valores se conocen comúnmente como "falsy" o "valores falsos". Algunos de estos serian el valor
None
, el numero cero0
, cadena vacía""
o''
, lista vacía[]
, tupla vacía()
,range(0)
, diccionario vació{}
, conjunto vacióset()
, bytes vacíob''
. -
Listas (
list
): Las listas son colecciones ordenadas y mutables de elementos. Pueden contener elementos de cualquier tipo y son instancias de la claselist
.numeros = [1, 2, 3, 4, 5] valores = ["hola", 10, 14.5, numeros, [1,2,3], {'clave':'valor'}, () ]
-
Tuplas (
tuple
): Las tuplas son similares a las listas, pero son inmutables. Una vez creadas, no pueden ser modificadas. Son instancias de la clasetuple
.coordenadas = (10.0, 20.0)
-
Conjuntos (
set
): Los conjuntos son colecciones no ordenadas de elementos únicos. Los conjuntos son instancias de la claseset
.frutas = {"manzana", "naranja", "plátano"}
-
Diccionarios (
dict
): Los diccionarios son colecciones de pares clave-valor. Las claves deben ser únicas e inmutables, mientras que los valores pueden ser de cualquier tipo. Los diccionarios son instancias de la clasedict
.estudiante = {"nombre": "Juan", "edad": 20, "carrera": "Computación"}
En el siguiente tema definiré a que me refiero cuando algunos datos son mutables y otros no, asi como el tema de las instancias, pero de momento ten en cuenta la siguiente tabla:
Inmutable | Mutable |
---|---|
bool | list |
int | set |
float | dict |
str | |
tuple |
Existen otro tipos de datos en python de forma nativa, pero que no son tan utilizados a diferencia de los antes nombrados. A continuación mencionare estos:
Complex Los datos tipo complex (abreviatura de «números complejos»), en Python, son aquellos que representan números que tienen una parte real y una parte imaginaria. En matemáticas, los números complejos se definen como la suma de una parte real y una parte imaginaria multiplicada por la unidad imaginaria (que se denota como «i» o «j»).
Los datos tipo complex se representan escribiendo un número real seguido por una «j» para indicar la parte imaginaria.
z = 3 + 4j
print(z.real) # Salida: 3.0
print(z.imag) # Salida: 4.0
Bytes (bytes) Los objetos de tipo bytes son secuencias inmutables de enteros en el rango de 0 a 255. Se utilizan principalmente para representar datos binarios, como archivos o datos transmitidos a través de una red.
b = b"Hello"
print(b) # Salida: b'Hello'
Frozenset (frozenset) frozenset es una versión inmutable de set. Los elementos de un frozenset no pueden ser modificados después de su creación.
fs = frozenset([1, 2, 3, 4])
print(fs) # Salida: frozenset({1, 2, 3, 4})
Visita: Aprendepython.es para conocer mas de tipos de datos.