Tipos de datos y operadores en Python

PythonPythonBeginner
Practicar Ahora

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

En este laboratorio, explorarás los tipos de datos y operadores fundamentales de Python. A partir de los conocimientos adquiridos en el laboratorio anterior, aprenderás sobre enteros, números de punto flotante, cadenas de texto y valores booleanos. También practicarás el uso de varios operadores para realizar cálculos y comparaciones. Esta experiencia práctica profundizará tu comprensión de los conceptos básicos de Python y te preparará para tareas de programación más avanzadas.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL python(("Python")) -.-> python/BasicConceptsGroup(["Basic Concepts"]) python/BasicConceptsGroup -.-> python/variables_data_types("Variables and Data Types") python/BasicConceptsGroup -.-> python/numeric_types("Numeric Types") python/BasicConceptsGroup -.-> python/strings("Strings") python/BasicConceptsGroup -.-> python/booleans("Booleans") python/BasicConceptsGroup -.-> python/type_conversion("Type Conversion") subgraph Lab Skills python/variables_data_types -.-> lab-393077{{"Tipos de datos y operadores en Python"}} python/numeric_types -.-> lab-393077{{"Tipos de datos y operadores en Python"}} python/strings -.-> lab-393077{{"Tipos de datos y operadores en Python"}} python/booleans -.-> lab-393077{{"Tipos de datos y operadores en Python"}} python/type_conversion -.-> lab-393077{{"Tipos de datos y operadores en Python"}} end

Comprendiendo los Tipos de Datos Numéricos

En este paso, trabajarás con dos tipos de datos numéricos principales en Python: enteros y números de punto flotante.

  1. Abre el intérprete de Python escribiendo el siguiente comando en tu terminal:

    python

    Deberías ver el indicador de Python (>>>), lo que indica que ahora estás en la shell interactiva de Python.

Python Interpreter
  1. Comencemos explorando los enteros. En el intérprete de Python, escribe lo siguiente:

    >>> age = 25
    >>> print(f"I am {age} years old.")
    I am 25 years old.
    >>> type(age)
    <class 'int'>

    Aquí, age es una variable entera. La función type() confirma que es un tipo de dato int (entero). Los enteros son números enteros sin puntos decimales.

  2. Ahora, trabajemos con números de punto flotante:

    >>> height = 1.75
    >>> print(f"My height is {height} meters.")
    My height is 1.75 meters.
    >>> type(height)
    <class 'float'>

    height es un número de punto flotante, representado por el tipo de dato float en Python. Los números de punto flotante se utilizan para números con puntos decimales.

  3. Realicemos un cálculo utilizando estos tipos numéricos:

    >>> weight = 70  ## Definamos el peso primero
    >>> bmi = weight / (height ** 2)
    >>> print(f"My BMI is {bmi:.2f}")
    My BMI is 22.86

    Aquí, primero definimos weight. El operador ** se utiliza para la exponenciación (elevar a una potencia). El .2f en la f-string formatea la salida para mostrar solo dos decimales.

    # se utiliza para comentarios en Python. Los comentarios son ignorados por el intérprete y se utilizan para documentar el código.

Si cometemos un error o queremos probar diferentes valores, ¡no te preocupes! Simplemente puedes redefinir las variables y volver a realizar los cálculos.

Trabajando con Cadenas de Texto

En este paso, aprenderás cómo trabajar con cadenas de texto, que son secuencias de caracteres en Python.

  1. En el intérprete de Python, crea una variable de tipo cadena de texto:

    >>> name = "Alice"
    >>> print(f"Hello, {name}!")
    Hello, Alice!
    >>> type(name)
    <class 'str'>

    El tipo de dato str representa cadenas de texto en Python. Las cadenas de texto se encierran entre comillas simples ('') o comillas dobles ("").

  2. Las cadenas de texto admiten varias operaciones. Exploremos algunas:

    >>> ## String concatenation (unir cadenas de texto)
    >>> first_name = "John"
    >>> last_name = "Doe"
    >>> full_name = first_name + " " + last_name
    >>> print(full_name)
    John Doe
    
    >>> ## Repetición de cadenas de texto
    >>> echo = "Hello " * 3
    >>> print(echo)
    Hello Hello Hello
    
    >>> ## Longitud de la cadena de texto
    >>> print(len(full_name))
    8
    
    >>> ## Accediendo a caracteres en una cadena de texto
    >>> print(full_name[0])  ## Primer carácter (índice 0)
    J
    >>> print(full_name[-1])  ## Último carácter
    e

    Recuerda, en Python, la indexación comienza en 0, por lo que el primer carácter está en el índice 0.

  3. Las cadenas de texto en Python son inmutables, lo que significa que no puedes cambiar caracteres individuales. Sin embargo, puedes crear nuevas cadenas de texto basadas en las existentes:

    >>> uppercase_name = full_name.upper()
    >>> print(uppercase_name)
    JOHN DOE
    
    >>> lowercase_name = full_name.lower()
    >>> print(lowercase_name)
    john doe

    Estos métodos no cambian la cadena de texto original, sino que crean nuevas.

Comprendiendo los Valores Booleanos y los Operadores de Comparación

En este paso, aprenderás sobre los valores booleanos y cómo utilizar los operadores de comparación en Python.

  1. Los valores booleanos en Python son True (Verdadero) o False (Falso). Creemos algunas variables booleanas:

    >>> is_student = True
    >>> is_employed = False
    >>> print(f"Is a student: {is_student}")
    Is a student: True
    >>> print(f"Is employed: {is_employed}")
    Is employed: False
    >>> type(is_student)
    <class 'bool'>

    Los valores booleanos se utilizan a menudo en declaraciones condicionales y bucles, sobre los cuales aprenderás en futuros laboratorios.

  2. Los operadores de comparación devuelven valores booleanos. Exploremos algunas comparaciones:

    >>> x = 5
    >>> y = 10
    >>> print(x < y)   ## Menor que
    True
    >>> print(x > y)   ## Mayor que
    False
    >>> print(x == y)  ## Igual a
    False
    >>> print(x!= y)  ## No igual a
    True
    >>> print(x <= y)  ## Menor o igual que
    True
    >>> print(x >= y)  ## Mayor o igual que
    False

    Estos operadores comparan valores y devuelven True o False según el resultado de la comparación.

  3. También puedes utilizar operadores de comparación con otros tipos de datos:

    >>> name1 = "Alice"
    >>> name2 = "Bob"
    >>> print(name1 < name2)  ## Comparación alfabética
    True
    
    >>> print(len(name1) == len(name2))  ## Comparando longitudes de cadenas
    False

    Al comparar cadenas, Python utiliza el orden lexicográfico (orden alfabético).

  4. Los operadores booleanos (and [y], or [o], not [no]) se pueden utilizar para combinar valores booleanos:

    >>> a = True
    >>> b = False
    >>> print(a and b)  ## Verdadero si ambos son verdaderos
    False
    >>> print(a or b)   ## Verdadero si al menos uno es verdadero
    True
    >>> print(not a)    ## Negación
    False

    Estos operadores son útiles para crear condiciones complejas en tus programas.

Explorando la Conversión de Tipos

En este paso, aprenderás cómo convertir entre diferentes tipos de datos en Python.

  1. A veces, necesitas convertir un tipo de dato en otro. Python proporciona funciones integradas para este propósito. Comencemos convirtiendo cadenas de texto en números:

    >>> ## Convirtiendo cadena de texto a entero
    >>> age_str = "25"
    >>> age_int = int(age_str)
    >>> print(f"Age: {age_int}")
    Age: 25
    >>> print(type(age_int))
    <class 'int'>
    
    >>> ## Convirtiendo cadena de texto a número de punto flotante
    >>> height_str = "1.75"
    >>> height_float = float(height_str)
    >>> print(f"Height: {height_float} meters")
    Height: 1.75 meters
    >>> print(type(height_float))
    <class 'float'>

    Las funciones int() y float() convierten cadenas de texto en enteros y números de punto flotante, respectivamente. Ten cuidado: si la cadena de texto no se puede convertir, obtendrás un error.

  2. También puedes convertir números en cadenas de texto:

    >>> ## Convirtiendo entero a cadena de texto
    >>> count = 42
    >>> count_str = str(count)
    >>> print(f"The count is: {count_str}")
    The count is: 42
    >>> print(type(count_str))
    <class 'str'>
    
    >>> ## Convirtiendo número de punto flotante a cadena de texto
    >>> pi = 3.14159
    >>> pi_str = str(pi)
    >>> print(f"Pi is approximately {pi_str}")
    Pi is approximately 3.14159
    >>> print(type(pi_str))
    <class 'str'>

    La función str() puede convertir la mayoría de los objetos de Python en cadenas de texto.

  3. Los valores booleanos se pueden convertir a y desde otros tipos:

    >>> ## Convirtiendo a booleano
    >>> print(bool(1))     ## Los números distintos de cero son True
    True
    >>> print(bool(0))     ## El cero es False
    False
    >>> print(bool(""))    ## La cadena de texto vacía es False
    False
    >>> print(bool("Hello"))  ## La cadena de texto no vacía es True
    True
    
    >>> ## Convirtiendo booleano a entero
    >>> true_int = int(True)
    >>> false_int = int(False)
    >>> print(f"True as integer: {true_int}")
    True as integer: 1
    >>> print(f"False as integer: {false_int}")
    False as integer: 0

    En Python, cualquier número distinto de cero o cadena de texto no vacía se considera True cuando se convierte a un booleano.

Poniendo Todo en Práctica

En este último paso, crearás un programa sencillo que utilice los conceptos que has aprendido en este laboratorio.

  1. Sal del intérprete de Python escribiendo exit() o presionando Ctrl+D.

  2. Cambia a la pestaña WebIDE en la máquina virtual de LabEx. WebIDE es un editor de código en línea que te permite escribir y ejecutar scripts de Python directamente en tu navegador. Es adecuado para scripts y proyectos más largos.

WebIDE online code editor
  1. Crea un nuevo archivo llamado data_types_practice.py en el directorio ~/project utilizando el siguiente comando:

    touch ~/project/data_types_practice.py
  2. Haz clic en el archivo recién creado para abrirlo en el editor.

  3. Copia y pega el siguiente código en el archivo:

    ## Data types and operators practice
    
    ## Get user input
    name = input("Enter your name: ")
    age_str = input("Enter your age: ")
    height_str = input("Enter your height in meters: ")
    
    ## Convert input to appropriate types
    age = int(age_str)
    height = float(height_str)
    
    ## Perform calculations
    ## You may need to change the year to the current year
    birth_year = 2025 - age
    is_adult = age >= 18
    
    ## Create output string
    output = f"""
    Name: {name}
    Age: {age}
    Height: {height:.2f} meters
    Birth Year: {birth_year}
    Is Adult: {is_adult}
    """
    
    ## Print the result
    print(output)
    
    ## Bonus: String manipulation
    uppercase_name = name.upper()
    name_length = len(name)
    
    print(f"Your name in uppercase: {uppercase_name}")
    print(f"Your name has {name_length} characters")

    Este programa demuestra el uso de varios tipos de datos, conversión de tipos, formato de cadenas y cálculos básicos.

  4. Guarda el archivo (la opción de guardado automático está habilitada) y ejecútalo utilizando el siguiente comando:

    python ~/project/data_types_practice.py
  5. Ingresa tu información cuando se te solicite. Deberías ver una salida similar a esta:

    Enter your name: Alice
    Enter your age: 25
    Enter your height in meters: 1.75
    
    Name: Alice
    Age: 25
    Height: 1.75 meters
    Birth Year: 1999
    Is Adult: True
    
    Your name in uppercase: ALICE
    Your name has 5 characters
Program output example

Si cometemos un error al ingresar los datos, tendrás que ejecutar el programa de nuevo. Esta es una buena oportunidad para practicar la ejecución de scripts de Python varias veces con diferentes entradas.

Resumen

En este laboratorio, has explorado los tipos de datos y operadores fundamentales de Python. Has aprendido cómo trabajar con enteros, números de punto flotante, cadenas de texto y valores booleanos. Has practicado el uso de varios operadores para realizar cálculos y comparaciones, y has adquirido experiencia en la conversión de tipos. Finalmente, has aplicado estos conceptos para crear un programa sencillo que recibe la entrada del usuario, la procesa y produce una salida formateada.

Estas habilidades forman la base de la programación en Python y serán esenciales a medida que sigas desarrollando programas más complejos. Recuerda practicar estos conceptos regularmente para reforzar tu comprensión y sentirte más cómodo con la sintaxis de Python y la manipulación de datos.

A medida que avances, no dudes en experimentar con el intérprete de Python. Es una gran herramienta para probar pequeños fragmentos de código y entender cómo funcionan diferentes operaciones. Si encuentras algún error, lee detenidamente los mensajes de error; a menudo proporcionan pistas sobre lo que salió mal y cómo solucionarlo.