Introducción
¡Bienvenidos a los conceptos básicos de Python! Todos necesitamos empezar en algún lugar, y este laboratorio es el lugar perfecto para hacerlo. Python es un lenguaje de programación potente y fácil de aprender, conocido por su sintaxis elegante y tipado dinámico, lo que lo convierte en un lenguaje ideal para scripting y desarrollo rápido de aplicaciones.
En este laboratorio, aprenderá sobre algunos de los conceptos más fundamentales en Python. Cubriremos:
- Operadores matemáticos y su orden de precedencia.
- Operadores de asignación aumentada (Augmented assignment operators) para un código más conciso.
- El Operador Morsa (
:=) (Walrus Operator) para asignar variables dentro de expresiones. - Tipos de datos principales (core data types) de Python.
- Operaciones básicas con cadenas (strings), como concatenación y replicación.
¡Empecemos!
Operadores Matemáticos
En este paso, aprenderás sobre los operadores matemáticos de Python y su precedencia. La precedencia de operadores determina el orden en que se realizan las operaciones en una expresión.
Aquí están los operadores matemáticos comunes, de mayor a menor precedencia:
| Operadores | Operación | Ejemplo |
|---|---|---|
** |
Exponenciación | 2 ** 3 = 8 |
% |
Módulo/Resto | 22 % 8 = 6 |
// |
División entera | 22 // 8 = 2 |
/ |
División | 22 / 8 = 2.75 |
* |
Multiplicación | 3 * 3 = 9 |
- |
Resta | 5 - 2 = 3 |
+ |
Suma | 2 + 2 = 4 |
Nota: Si no estás familiarizado con el uso de WebIDE (similar a VS Code), por favor, apréndelo primero en este laboratorio.
Practiquemos su uso. Abre el archivo main.py desde el explorador de archivos de la izquierda. Borra cualquier contenido existente y añade el siguiente código. Usaremos la función print() para ver el resultado de cada expresión.
## La multiplicación tiene mayor precedencia que la suma
## Así que esto se evalúa como: 2 + (3 * 6) = 2 + 18 = 20
print(2 + 3 * 6)
## Los paréntesis anulan la precedencia de operadores
## Esto se evalúa como: 5 * 6 = 30
print((2 + 3) * 6)
## Exponenciación
print(2 ** 8)
## División entera
print(23 // 7)
## Módulo/Resto
print(23 % 7)
## Una expresión más compleja
print((5 - 1) * ((7 + 1) / (3 - 1)))
Ahora, ejecuta el script abriendo una terminal y ejecutando el siguiente comando:
python3 main.py
Deberías ver la siguiente salida, con cada resultado en una nueva línea:
20
30
256
3
2
16.0
Operadores de Asignación Aumentada
En este paso, explorará los operadores de asignación aumentada (augmented assignment operators). Estos proporcionan una forma concisa de realizar una operación en una variable y reasignarle el nuevo valor.
Aquí hay una tabla de estos operadores y sus equivalentes:
| Operador | Equivalente |
|---|---|
var += 1 |
var = var + 1 |
var -= 1 |
var = var - 1 |
var *= 1 |
var = var * 1 |
var /= 1 |
var = var / 1 |
var //= 1 |
var = var // 1 |
var %= 1 |
var = var % 1 |
var **= 1 |
var = var ** 1 |
Practiquemos su uso. Borre el archivo main.py y añada el siguiente código para ver cómo funcionan con cadenas (strings), números y listas.
## Asignación aumentada con una cadena (string)
greeting = 'Hello'
greeting += ' world!'
print(greeting)
## Incrementar un número en 1
number = 1
number += 1
print(number)
## Replicar elementos de una lista
my_list = ['item']
my_list *= 3
print(my_list)
Ejecute el script desde la terminal:
python3 main.py
La salida mostrará los resultados de las asignaciones aumentadas:
Hello world!
2
['item', 'item', 'item']
Operador Walrus
En este paso, aprenderá sobre el Operador Morsa (:=), conocido oficialmente como el Operador de Expresión de Asignación (Assignment Expression Operator). Este operador, introducido en Python 3.8, le permite asignar un valor a una variable como parte de una expresión más grande.
Es útil para simplificar código donde necesita usar un valor justo después de calcularlo.
Veámoslo en acción. Borre el archivo main.py y añada el siguiente código:
## El operador morsa asigna "Hello World!" a my_var
## y devuelve el valor, que luego se imprime.
print(my_var := "Hello World!")
## La variable my_var ahora está disponible para su uso
print(my_var)
## También puede usarlo para reasignar una variable dentro de una expresión
print(my_var := "Hello")
print(my_var)
Ejecute el script:
python3 main.py
Verá la siguiente salida, que demuestra que la variable fue asignada y su valor fue devuelto en la misma expresión:
Hello World!
Hello World!
Hello
Hello
Tipos de Datos
En este paso, obtendremos una visión general de los nueve tipos de datos incorporados (built-in) principales de Python. Comprender los tipos de datos es crucial ya que definen el tipo de valores que una variable puede contener y las operaciones que se pueden realizar sobre ella.
| Tipo de Dato | Ejemplos | Descripción |
|---|---|---|
| Números | ||
int |
-2, 0, 5 |
Números enteros |
float |
-1.25, 0.0, 1.0 |
Números con puntos decimales |
complex |
2+3j |
Números con partes real e imaginaria |
| Texto | ||
str |
'a', "Hello!" |
Texto y caracteres |
| Booleano | ||
bool |
True, False |
Valores Verdadero o Falso |
| Ninguno | ||
NoneType |
None |
Representa "ningún valor" o "nada" |
| Colecciones | ||
list |
[1, 2, 3] |
Colecciones ordenadas y modificables |
dict |
{'name': 'Alice', 'age': 30} |
Pares clave-valor |
tuple |
(1, 2, 3) |
Colecciones ordenadas e inmutables |
set |
{1, 2, 3} |
Colecciones desordenadas de elementos únicos |
Para ver estos tipos de datos en la práctica, borre su archivo main.py y añada el siguiente código. Definiremos variables de diferentes tipos y luego imprimiremos su tipo usando la función incorporada type().
## Números
age = 25 ## int
price = 19.99 ## float
coordinate = 2 + 3j ## complex
## Texto
name = "Alice" ## str
## Booleano
is_student = True ## bool
## Ninguno
result = None ## NoneType
## Colecciones
scores = [85, 92, 78] ## list
person = {'name': 'Bob', 'age': 30} ## dict
coordinates = (10, 20) ## tuple
unique_ids = {1, 2, 3} ## set
print(type(age))
print(type(price))
print(type(name))
print(type(is_student))
print(type(scores))
print(type(person))
print(type(coordinates))
print(type(unique_ids))
Ejecute el script para ver el tipo de cada variable:
python3 main.py
Su salida debería verse así:
<class 'int'>
<class 'float'>
<class 'str'>
<class 'bool'>
<class 'list'>
<class 'dict'>
<class 'tuple'>
<class 'set'>
Concatenación y Replicación
En este paso final, aprenderá dos operaciones fundamentales con cadenas de texto (strings): concatenación y replicación.
La concatenación de cadenas es el proceso de unir cadenas de texto. En Python, los literales de cadena adyacentes se concatenan automáticamente.
La replicación de cadenas utiliza el operador * para crear una nueva cadena repitiendo una existente varias veces.
Probemos estas operaciones. Borre el archivo main.py y añada el siguiente código:
## Concatenación de cadenas: los literales de cadena adyacentes se unen automáticamente.
## Usamos print() para mostrar el resultado.
concatenated_string = 'Alice' 'Bob'
print(concatenated_string)
## Replicación de cadenas: repita una cadena varias veces usando el operador *.
replicated_string = 'Alice' * 5
print(replicated_string)
Ahora, ejecute el script desde la terminal:
python3 main.py
Verá los resultados de las dos operaciones:
AliceBob
AliceAliceAliceAliceAlice
Esto demuestra la facilidad con la que puede manipular cadenas de texto en Python.
Resumen
¡Felicidades por completar este laboratorio! Ha dado sus primeros pasos en el mundo de la programación en Python.
En este laboratorio, aprendió sobre varios conceptos fundamentales:
- Operadores Matemáticos: Practicó el uso de operadores como
+,*,/y**y comprendió su precedencia. - Operadores de Asignación Aumentada (Augmented Assignment Operators): Descubrió atajos como
+=y*=para escribir código más conciso. - Operador Walrus (Walrus Operator): Se le introdujo al operador
:=para asignar variables dentro de expresiones. - Tipos de Datos (Data Types): Obtuvo una visión general de los tipos de datos principales de Python, incluyendo números, cadenas de texto, booleanos y colecciones.
- Concatenación y Replicación de Cadenas (String Concatenation and Replication): Aprendió a unir y repetir cadenas de texto.
Estos conceptos son los bloques de construcción para escribir programas en Python más complejos y potentes. ¡Siga practicando y explorando lo que Python tiene para ofrecer!



