Skip to content

Latest commit

 

History

History
196 lines (133 loc) · 8.34 KB

02_tipos_datos.md

File metadata and controls

196 lines (133 loc) · 8.34 KB

Tipos de datos

img: Tipos de datos

Repositorio: python_desde_cero_2024 - fecha: 17/12/2024


Temas adjuntos

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


Definición

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.

Tipos

A continuación mostrare de manera mas detallada cada uno de estos:

  1. 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 clase int. Se plasman escribiendo directamente el numero.

    a = 10
    b = -5
  2. 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 clase float.

    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
  3. 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 clase str. 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
  4. Booleanos (bool): Los booleanos son un subclase de enteros en Python. True y False 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 cero 0, cadena vacía "" o '', lista vacía [], tupla vacía (), range(0), diccionario vació {}, conjunto vació set(), bytes vacío b''.

  5. Listas (list): Las listas son colecciones ordenadas y mutables de elementos. Pueden contener elementos de cualquier tipo y son instancias de la clase list.

    numeros = [1, 2, 3, 4, 5]
    valores = ["hola", 10, 14.5, numeros, [1,2,3], {'clave':'valor'}, () ]
  6. Tuplas (tuple): Las tuplas son similares a las listas, pero son inmutables. Una vez creadas, no pueden ser modificadas. Son instancias de la clase tuple.

    coordenadas = (10.0, 20.0)
  7. Conjuntos (set): Los conjuntos son colecciones no ordenadas de elementos únicos. Los conjuntos son instancias de la clase set.

    frutas = {"manzana", "naranja", "plátano"}
  8. 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 clase dict.

    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

Menciones Honorificas

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})

Amplia tus conocimientos

Visita: Aprendepython.es para conocer mas de tipos de datos.

Footnotes

  1. Un lenguaje de programación es dinámicamente tipado si una variable puede tomar valores de distintos tipos.

  2. Este es un tema mas ampleo que puedes consultar en el siguente enlace.