¡Bienvenido al Mundo de Python! 🐍
Python es uno de los lenguajes de programación más populares y versátiles del mundo. Es conocido por su simplicidad, legibilidad y una comunidad enorme que lo apoya. Desde el desarrollo web hasta la inteligencia artificial, Python está en todas partes. ¡Prepárate para dar tus primeros pasos!
1. Apetece Python & 2. Usando el Intérprete de Python
El intérprete de Python es tu puerta de entrada al lenguaje. Te permite escribir y ejecutar código línea por línea, ¡como una conversación con la computadora! Es perfecto para experimentar y aprender.
El Intérprete como Calculadora
Puedes usar Python para realizar operaciones matemáticas básicas. Prueba a escribir operaciones y presionar Enter en la consola de abajo para ver los resultados.
- `+` Suma
- `-` Resta
- `*` Multiplicación
- `/` División (siempre devuelve un flotante)
- `//` División entera (descarta la parte decimal)
- `%` Módulo (el resto de la división)
- `**` Potencia
Python maneja números enteros (como 2) y números de punto flotante (como 3.14). ¡También respeta el orden de las operaciones!
¡Tu Primera Consola de Python! (Simulada)
Escribe tus operaciones o código Python aquí y presiona `Enter` o el botón "Ejecutar".
Cadenas de Texto (Strings)
Las cadenas de texto se usan para almacenar palabras, frases o cualquier secuencia de caracteres. Se encierran entre comillas simples (`'...'`) o dobles (`"..."`).
'Hola Mundo'
"Python es genial"
'No puedes usar "comillas dobles" aquí' # Esto causaría un error
"Puedes usar 'comillas simples' aquí"
'C:\algun\nombre' # \n es un salto de línea!
r'C:\algun\nombre' # r al inicio crea una "cadena cruda" (raw string), ignorando \n
print("Primera línea\nSegunda línea") # \n crea un salto de línea
print("Hola" + " " + "Mundo") # Concatenación de cadenas
print("Python" * 3) # Repetición de cadenas
mi_cadena = "abcdefg"
print(mi_cadena[0]) # Indexación: 'a' (el primer carácter está en la posición 0)
print(mi_cadena[1:4]) # Slicing: 'bcd' (desde el índice 1 hasta antes del 4)
print(len(mi_cadena)) # len() devuelve la longitud de la cadena
Las cadenas son inmutables, lo que significa que no puedes cambiar un carácter individual en una cadena existente.
Listas
Las listas son colecciones ordenadas y mutables de elementos. Puedes almacenar diferentes tipos de datos en una misma lista.
mis_numeros = [10, 20, 30, 40, 50]
print(mis_numeros[0]) # Acceder a un elemento: 10
print(mis_numeros[1:3]) # Slicing: [20, 30]
print(mis_numeros + [60, 70]) # Concatenar listas
mis_numeros[0] = 5 # Las listas son mutables: cambia el primer elemento a 5
print(mis_numeros) # [5, 20, 30, 40, 50]
mis_numeros.append(60) # Añadir un elemento al final
print(mis_numeros) # [5, 20, 30, 40, 50, 60]
mis_numeros[1:3] = [] # Asignar una lista vacía a un slice para eliminar elementos
print(mis_numeros) # [5, 40, 50, 60]
print(len(mis_numeros)) # Longitud de la lista
Las listas son muy flexibles y se usan constantemente en Python.
¡Ejercicio en Clase! 🧑💻
Usa la consola de Python (simulada) para probar los siguientes comandos:
- Calcula el resultado de `(5 + 3) * 2 - 10 / 5`.
- Crea una cadena con tu nombre completo y usa `len()` para saber cuántos caracteres tiene.
- Crea una lista con tus 3 comidas favoritas. Luego, accede al segundo elemento.
- Intenta cambiar una letra de tu nombre en la cadena que creaste (ej: `mi_nombre[0] = 'J'`). ¿Qué ocurre? (¡Recuerda que las cadenas son inmutables!)
3. Una Introducción Informal a Python (Tipos de Datos)
En esta sección profundizaremos un poco más en los tipos de datos fundamentales de Python y cómo se manejan.
Números
Python soporta números enteros (`int`), números de punto flotante (`float`) y números complejos. Las operaciones aritméticas se comportan como esperarías.
# Números enteros (int)
entero_a = 10
entero_b = -5
print(type(entero_a)) #
# Números de punto flotante (float)
flotante_a = 3.14
flotante_b = 2.0
print(type(flotante_a)) #
# Operaciones mixtas
resultado_mixto = entero_a + flotante_b
print(resultado_mixto) # 12.0 (el resultado es float)
print(type(resultado_mixto)) #
Cadenas (Strings) - Inmutabilidad
Ya vimos que las cadenas son secuencias de caracteres. Es vital recordar que son inmutables. Esto significa que una vez que creas una cadena, no puedes cambiar sus caracteres individuales. Si necesitas una cadena modificada, debes crear una nueva.
saludo = "Hola"
# saludo[0] = 'h' # Esto daría un error: TypeError
nuevo_saludo = 'h' + saludo[1:] # Creamos una nueva cadena
print(nuevo_saludo) # hola
# Métodos útiles de cadenas
nombre = "juan perez"
print(nombre.capitalize()) # Juan perez
print(nombre.upper()) # JUAN PEREZ
print(nombre.replace("perez", "gomez")) # juan gomez
Listas - Mutabilidad y Métodos
Las listas son muy potentes porque son mutables (puedes cambiar sus elementos) y pueden contener elementos de diferentes tipos.
frutas = ['manzana', 'banana', 'cereza']
print(frutas)
# Modificar un elemento
frutas[0] = 'kiwi'
print(frutas) # ['kiwi', 'banana', 'cereza']
# Añadir elementos
frutas.append('naranja') # Añade al final
print(frutas) # ['kiwi', 'banana', 'cereza', 'naranja']
frutas.insert(1, 'uva') # Inserta en una posición específica
print(frutas) # ['kiwi', 'uva', 'banana', 'cereza', 'naranja']
# Eliminar elementos
frutas.pop() # Elimina el último elemento
print(frutas) # ['kiwi', 'uva', 'banana', 'cereza']
frutas.remove('uva') # Elimina el primer elemento con ese valor
print(frutas) # ['kiwi', 'banana', 'cereza']
# Otras operaciones
print(len(frutas)) # Longitud
print('banana' in frutas) # ¿Está 'banana' en la lista? (True)
¡Ejercicio en Clase! 🧑💻
Copia y pega el siguiente código en la consola simulada y predice la salida. Luego, ejecútalo para verificar.
mi_lista = ["rojo", "verde", "azul"]
mi_lista.append("amarillo")
mi_lista[0] = "blanco"
print(mi_lista[1])
print(len(mi_lista))
mi_lista.remove("azul")
print(mi_lista)
¿Pudiste predecir correctamente todas las salidas? ¡Si no, no te preocupes, es parte del aprendizaje!
4. Más Herramientas de Control de Flujo
El control de flujo es la capacidad de tu programa para tomar decisiones y repetir acciones. ¡Aquí es donde la lógica de programación cobra vida en Python!
4.1 La Sentencia `if` (Condicionales)
La sentencia `if` se usa para ejecutar código solo si una condición es verdadera. Puedes añadir `elif` (else if) para múltiples condiciones y `else` para un caso por defecto.
- Indentation es CLAVE: Python usa la indentación (espacios al inicio de la línea) para definir bloques de código. ¡No uses tabulaciones y espacios mezclados!
edad = 20
if edad < 18:
print("Eres menor de edad.")
elif edad >= 18 and edad < 65:
print("Eres un adulto.")
else:
print("Eres un adulto mayor.")
temperatura = 25
if temperatura > 30:
print("Hace mucho calor.")
elif temperatura > 20: # Esto significa entre 21 y 30
print("Temperatura agradable.")
else:
print("Hace frío.")
4.2 La Sentencia `for` (Bucles)
La sentencia `for` se usa para iterar (recorrer) sobre los elementos de una secuencia (como una lista o una cadena) o sobre otros objetos iterables.
# Iterar sobre una lista
frutas = ["manzana", "banana", "cereza"]
for fruta in frutas:
print(f"Me gusta la {fruta}")
# Iterar sobre una cadena
for letra in "Python":
print(letra)
# 4.2.1 La función range()
# Genera secuencias de números. Muy útil con for.
for i in range(5): # Genera 0, 1, 2, 3, 4
print(i)
for i in range(2, 6): # Genera 2, 3, 4, 5
print(i)
for i in range(0, 10, 2): # Genera 0, 2, 4, 6, 8 (paso de 2)
print(i)
4.2.2 `break`, `continue` y `else` en Bucles
Estas palabras clave te dan más control sobre cómo se comportan los bucles:
- `break`: Sale completamente del bucle.
- `continue`: Salta el resto del código de la iteración actual y pasa a la siguiente.
- `else` en bucles: El bloque `else` se ejecuta si el bucle termina *normalmente* (es decir, no por un `break`).
# Ejemplo con break
for numero in range(1, 10):
if numero == 5:
print("Encontré el 5, ¡saliendo del bucle!")
break
print(numero) # Imprime 1, 2, 3, 4
# Ejemplo con continue
for i in range(1, 6):
if i % 2 == 0: # Si es par
print(f"Saltando el número par {i}")
continue # Pasa a la siguiente iteración
print(f"Número impar: {i}") # Imprime 1, 3, 5
# Ejemplo con else en bucle for
for n in range(5):
print(n)
else:
print("El bucle terminó sin un 'break'.")
# Ejemplo con else en bucle for (con break)
for n in range(5):
if n == 3:
print("Encontré el 3, rompiendo el bucle.")
break
print(n)
else:
print("Este mensaje NO se imprimirá.")
¡Ejercicio en Clase! 🧑💻
Copia y pega los siguientes códigos en la consola simulada. Intenta predecir la salida antes de ejecutar.
# Ejercicio 1: if/elif/else
puntuacion = 75
if puntuacion >= 90:
print("Excelente")
elif puntuacion >= 70:
print("Notable")
else:
print("Necesitas mejorar")
# Ejercicio 2: for y range
total = 0
for num in range(1, 5): # ¿Qué números incluye?
total += num
print(f"La suma es: {total}")
# Ejercicio 3: break y continue
for x in range(10):
if x == 3:
continue
if x == 7:
break
print(x)