Tipos de Datos y Operadores en Python

PythonBeginner
Practicar Ahora

Introducción

¡Te damos la bienvenida al mundo de Python! En este laboratorio, conocerás los componentes básicos de la programación en Python: los tipos de datos y los operadores. Exploraremos los números, el texto y los valores lógicos de verdadero/falso. También aprenderás a realizar cálculos y comparaciones. Este laboratorio está diseñado para principiantes, por lo que iremos paso a paso. No te preocupes si todo esto es nuevo para ti; estamos aquí para guiarte. ¡Comencemos!

Este es un Laboratorio Guiado, que proporciona instrucciones paso a paso para ayudarte a aprender y practicar. Sigue las instrucciones cuidadosamente para completar cada paso y ganar experiencia práctica. Los datos históricos muestran que este es un laboratorio de nivel intermedio con una tasa de finalización del 68%. Ha recibido una tasa de valoraciones positivas del 99% por parte de los alumnos.

Entendiendo los Números en Python

En este paso, veremos los dos tipos principales de números en Python: los enteros (números completos) y los flotantes (números con decimales).

Primero, abre el intérprete de Python. Esta es una herramienta que te permite ejecutar código de Python línea por línea. Para quienes están empezando, la Interfaz de Escritorio (Desktop Interface) resulta más amigable. Si te sientes a gusto con la terminal, puedes cambiar a la pestaña de Terminal independiente en la esquina superior izquierda para una operación más fluida. Ambos enfoques ofrecen el mismo resultado.

Terminal Tab

Escribe esto en tu terminal:

python

Deberías ver el símbolo >>>. Esto significa que Python está listo para recibir tus comandos.

Python Interpreter

Empecemos con los enteros (integers). Los enteros son números sin decimales, como -1, 0 y 100.

books = 5
print(f"I have {books} books.")
type(books)

Salida:

I have 5 books.
<class 'int'>

Aquí, creamos una variable llamada books y le asignamos el valor 5. Una variable es como una caja donde puedes guardar información. La función print() muestra información en la pantalla. Usamos una f-string (fíjate en la f antes de las comillas) para incluir fácilmente el valor de nuestra variable books dentro del texto. La función type() nos indica que books contiene un int (entero).

A continuación, exploremos los números de punto flotante, o flotantes (floats). Estos son números que tienen un punto decimal.

price = 19.99
print(f"This book costs ${price}.")
type(price)

Salida:

This book costs $19.99.
<class 'float'>

La variable price es un float porque tiene un punto decimal.

Ahora, realicemos un cálculo sencillo. ¡Python puede usarse como una calculadora!

quantity = 3
total_cost = price * quantity  ## Let's calculate the total cost
print(f"The total cost for {quantity} books is ${total_cost:.2f}.")

Salida:

The total cost for 3 books is $59.97.

Usamos el operador * para multiplicar price y quantity. El código .2f dentro de la f-string formatea el número para que muestre solo dos decimales. El símbolo # inicia un comentario. Los comentarios son notas para los humanos que Python ignora por completo.

¡Siéntete libre de probar tus propios cálculos! Puedes redefinir las variables con nuevos valores y ver qué sucede.

Trabajando con Texto (Cadenas)

En este paso, aprenderás sobre las cadenas (strings), que se utilizan para representar texto en Python.

Vamos a crear una variable de cadena en el intérprete de Python. Las cadenas siempre van rodeadas de comillas simples (') o dobles (").

name = "Alice"
print(f"Hello, {name}!")
type(name)

Salida:

Hello, Alice!
<class 'str'>

El tipo de dato str representa una cadena de texto en Python.

Las cadenas se pueden combinar o manipular de muchas formas. Probemos algunas operaciones comunes.

## Joining two strings together (concatenation)
first_name = "John"
last_name = "Doe"
full_name = first_name + " " + last_name
print(full_name)

Salida:

John Doe
## Repeating a string
cheer = "Go! " * 3
print(cheer)

Salida:

Go! Go! Go!
## Finding the length of a string
print(len(full_name))

Salida:

8
## Accessing individual characters
print(full_name[0])  ## Get the first character
print(full_name[-1]) ## Get the last character

Salida:

J
e

Importante: Python empieza a contar desde 0. Por lo tanto, el primer carácter está en el índice 0. El índice -1 es un atajo muy útil para referirse al último carácter.

Las cadenas en Python son inmutables, lo que significa que no se pueden cambiar una vez creadas. No puedes modificar un solo carácter de una cadena existente. Sin embargo, puedes crear nuevas cadenas a partir de una ya creada.

message = "Hello World"
uppercase_message = message.upper()
print(uppercase_message)

Salida:

HELLO WORLD
lowercase_message = message.lower()
print(lowercase_message)

Salida:

hello world

Los métodos .upper() y .lower() crean nuevas cadenas de texto. La variable message original permanece intacta.

¿Verdadero o Falso? (Booleanos)

En este paso, aprenderás sobre los valores booleanos, que solo pueden ser True (Verdadero) o False (Falso). Son fundamentales para que tu código pueda tomar decisiones.

Creemos algunas variables booleanas. Ten en cuenta que en Python, True y False siempre comienzan con mayúscula.

is_learning = True
is_finished = False
print(f"Are we learning Python? {is_learning}")
type(is_learning)

Salida:

Are we learning Python? True
<class 'bool'>

El tipo de dato bool representa los valores booleanos.

Los operadores de comparación se usan para comparar dos valores y siempre dan como resultado un booleano (True o False).

x = 5
y = 10
print(x < y)   ## Is x less than y?
print(x == y)  ## Is x equal to y?
print(x != y)  ## Is x not equal to y?

Salida:

True
False
True

Estos son los operadores de comparación más comunes: == (igual a), != (diferente de), < (menor que), > (mayor que), <= (menor o igual que), >= (mayor o igual que).

También puedes comparar cadenas de texto. Python las compara alfabéticamente.

name1 = "Alice"
name2 = "Bob"
print(name1 < name2)  ## "Alice" comes before "Bob" alphabetically

Salida:

True

Los operadores booleanos (and, or, not) se utilizan para combinar expresiones lógicas.

a = True
b = False
print(a and b)  ## True only if both a AND b are True
print(a or b)   ## True if either a OR b (or both) are True
print(not a)    ## The opposite of a

Salida:

False
True
False

Estos operadores te ayudan a crear condiciones más complejas para tus programas.

Conversión entre Tipos de Datos

A veces, necesitarás convertir un valor de un tipo de dato a otro. Esto se conoce como conversión de tipos o "casting".

Vamos a convertir una cadena en un número. Esto es muy común cuando recibes datos de un usuario, ya que la entrada de usuario siempre se lee como una cadena de texto.

age_string = "25"
age_number = int(age_string) ## Convert string to integer
print(age_number + 5)

Salida:

30
price_string = "1.99"
price_float = float(price_string) ## Convert string to float
print(price_float * 2)

Salida:

3.98

Usamos int() para convertir a entero y float() para convertir a flotante. ¡Ten cuidado! Si intentas convertir una cadena que no parece un número (por ejemplo, int("hola")), Python mostrará un error.

También puedes convertir números a cadenas usando la función str().

count = 50
count_string = str(count)
print("The count is " + count_string)

Salida:

The count is 50

Finalmente, puedes convertir valores a booleanos usando bool(). Las reglas son sencillas:

  • El número 0, las cadenas vacías ("") y algunos objetos vacíos especiales se consideran False.
  • Casi todo lo demás se considera True (cualquier número distinto de cero, cualquier cadena que no esté vacía).
print(bool(100))      ## Non-zero number
print(bool(0))        ## Zero
print(bool("Hello"))  ## Non-empty string
print(bool(""))       ## Empty string

Salida:

True
False
True
False

La conversión de tipos es una herramienta poderosa para lograr que diferentes tipos de datos trabajen juntos en armonía.

Poniéndolo Todo en Práctica

En este paso final, escribiremos un pequeño programa que utilice todo lo que hemos aprendido.

Cambia a la pestaña WebIDE en la VM de LabEx. El WebIDE es un editor de código en línea donde puedes escribir y guardar tus scripts de Python.

WebIDE online code editor

Para obtener información más detallada sobre la interfaz del WebIDE, consulta la documentación del WebIDE de LabEx VM.

Crea un nuevo archivo llamado user_info.py en el directorio ~/project con este comando:

touch ~/project/user_info.py

Haz clic en el nuevo archivo en el explorador de archivos de la izquierda para abrirlo en el editor.

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

## A simple program to practice data types

## Get user input (input is always a string)
name = input("Enter your name: ")
age_str = input("Enter your age: ")

## Convert age to an integer
age = int(age_str)

## Perform a simple calculation
years_to_100 = 100 - age
is_adult = age >= 18

## Create an output message using an f-string
output = f"""
--- User Information ---
Hello, {name}!
You are {age} years old.
You will be 100 years old in {years_to_100} years.
Are you an adult? {is_adult}
--- End of Report ---
"""

## Print the final result
print(output)

Este script utiliza la función input() para preguntar el nombre y la edad. Como input() siempre nos devuelve la entrada del usuario como una cadena, necesitamos convertir la edad a un número usando int(). Luego, el script crea una f-string de varias líneas para la salida, utilizando comillas triples ("""). Esta es una forma elegante de formatear texto que ocupa varias líneas. Finalmente, realiza algunos cálculos y muestra el resumen formateado.

Guarda el archivo (debería guardarse automáticamente) y ejecútalo desde la terminal con este comando:

python ~/project/user_info.py

El programa te pedirá tu nombre y edad. Después de ingresarlos, imprimirá el resumen.

Enter your name: Alice
Enter your age: 25

--- User Information ---
Hello, Alice!
You are 25 years old.
You will be 100 years old in 75 years.
Are you an adult? True
--- End of Report ---
Program output example

¡Siéntete libre de ejecutar el script varias veces con diferentes datos para ver cómo cambia el resultado!

Resumen

¡Felicidades por completar este laboratorio! Has dado un gran primer paso en el mundo de la programación con Python.

En esta sesión, has aprendido sobre los componentes fundamentales de Python:

  • Tipos Numéricos: Trabajaste con enteros (int) para números completos y flotantes (float) para números decimales.
  • Cadenas (str): Aprendiste a crear y manipular texto.
  • Booleanos (bool): Exploraste los valores True y False y los usaste para realizar comparaciones.
  • Operadores: Utilizaste operadores aritméticos (*), de comparación (==, <) y booleanos (and, or).
  • Conversión de Tipos: Practicaste cómo transformar un tipo de dato en otro, como convertir una cadena en un número.

Estos conceptos son la base de todo lo que harás en Python. Sigue practicando y no tengas miedo de experimentar en el intérprete de Python; es una de las mejores formas de aprender. ¡Buen trabajo y feliz programación!