Programación Orientada a Objetos en Python: Clases y Objetos

🐍 Python — POO Programación Orientada a Objetos en Python: Clases, Objetos y Herencia Aprende Programación Orientada a Objetos (POO) en Python desde cero. Clases, objetos, atributos, métodos, herencia y polimorfismo con ejercicios resueltos paso a paso. ⏱ 18 min de lectura 🎯 Intermedio 💻 Código ejecutable ✅ Ejercicios resueltos 📚 Contenido de esta guía ¿Qué es la POO? Crear una clase: class e __init__ Atributos y métodos ¿Qué es self? Herencia Polimorfismo Ejercicio práctico: Sistema de biblioteca 1 ¿Qué es la Programación Orientada a Objetos? La Programación Orientada a Objetos (POO) es un paradigma que organiza el código en torno a objetos : entidades que combinan datos (atributos) y comportamientos (métodos). Es la base de frameworks como Django y librerías como Pandas . 💡 Analogía del mundo real Piensa en un automóvil : tiene atributos (color, marca, velocidad) y co...

Ejercicios de Python para Principiantes: Guía Paso a Paso con Ejemplos

🐍 Programación en Python

Ejercicios de Python para Principiantes: Guía Paso a Paso con Ejemplos

Aprende a programar en Python desde cero con ejercicios resueltos. Variables, condicionales, bucles y funciones explicados en español con código listo para ejecutar.

⏱ 15 min de lectura 🎯 Todos los niveles 💻 Código ejecutable ✅ Ejercicios resueltos

1¿Qué es Python y para qué sirve?

Python es un lenguaje de programación de alto nivel, interpretado y de propósito general. Fue creado por Guido van Rossum en 1991 y hoy es el lenguaje más popular del mundo, gracias a su sintaxis clara y su enorme comunidad.

💡 ¿Por qué aprender Python?
Python es el lenguaje #1 en demanda laboral. Su sintaxis se parece al español, lo que lo hace ideal para principiantes. Es gratuito, multiplataforma y tiene librerías para casi todo.

¿Para qué se usa Python hoy en día?

  • Inteligencia Artificial y Machine Learning (TensorFlow, PyTorch)
  • Ciencia de datos y análisis (Pandas, NumPy, Matplotlib)
  • Desarrollo web — back-end (Django, Flask, FastAPI)
  • Automatización de tareas y scripts
  • Ciberseguridad y hacking ético
  • Videojuegos con Pygame

2Instalación de Python

Antes de escribir código necesitas instalar Python en tu computadora. El proceso es muy sencillo:

  1. Ve a la página oficial: python.org/downloads
  2. Descarga la versión más reciente (Python 3.x)
  3. Ejecuta el instalador — marca la opción "Add Python to PATH"
  4. Abre la terminal y escribe python --version para verificar
✅ ¿Cómo saber si Python está instalado correctamente?
Abre la terminal (cmd en Windows o Terminal en Mac/Linux) y escribe: python --version. Si ves algo como Python 3.12.0, la instalación fue exitosa.

3Tu primer programa: Hola Mundo

Por tradición, el primer programa que se escribe al aprender un nuevo lenguaje es el famoso Hola Mundo. En Python es increíblemente simple:

hola_mundo.py
# Mi primer programa en Python
print("Hola, Mundo!")
▶ Salida
Hola, Mundo!

La función print() es una de las más usadas en Python. Sirve para mostrar texto o resultados en pantalla. El texto entre comillas se llama cadena de caracteres o string.

4Variables y tipos de datos

Una variable es un espacio en la memoria donde guardamos información. En Python no necesitas declarar el tipo — Python lo detecta automáticamente.

variables.py
# Declaración de variables en Python
nombre   = "Ana"         # str  -> texto
edad     = 20            # int  -> entero
promedio = 4.5           # float -> decimal
activo   = True          # bool -> verdadero/falso

# Mostrar las variables
print("Nombre:", nombre)
print("Edad:", edad)
print("Promedio:", promedio)
print("Activo:", activo)
▶ Salida
Nombre: Ana
Edad: 20
Promedio: 4.5
Activo: True

Tipos de datos más comunes en Python

TipoNombre en PythonEjemploDescripción
Textostrnombre = "Python"Cadenas de caracteres
Enterointedad = 25Números sin decimales
Decimalfloatprecio = 9.99Números con decimales
Booleanoboolactivo = TrueVerdadero o Falso
Listalistnums = [1, 2, 3]Colección ordenada

5Operaciones matemáticas en Python

Python funciona como una calculadora avanzada. Aquí están los operadores básicos con ejemplos:

operaciones.py
a = 10
b = 3

print('Suma:',            a + b)    # 13
print('Resta:',           a - b)    # 7
print('Multiplicacion:',  a * b)    # 30
print('Division:',        a / b)    # 3.333...
print('Division entera:', a // b)   # 3
print('Modulo (resto):',  a % b)    # 1
print('Potencia:',        a ** b)   # 1000
🔑 Tip: el operador módulo %
El operador % devuelve el resto de una división. Es muy útil para saber si un número es par o impar: si numero % 2 == 0, el número es par.

6Condicionales: if, elif, else

Las estructuras condicionales permiten que el programa tome decisiones. Son fundamentales en cualquier algoritmo.

Ejercicio: ¿Positivo, negativo o cero?

condicional.py
numero = int(input('Ingresa un numero: '))

if numero > 0:
    print("El numero es POSITIVO")
elif numero < 0:
    print("El numero es NEGATIVO")
else:
    print("El numero es CERO")
▶ Ejemplos de salida
Ingresa un numero: 7   ->  El numero es POSITIVO
Ingresa un numero: -3  ->  El numero es NEGATIVO
Ingresa un numero: 0   ->  El numero es CERO

Ejercicio: Calculadora de calificaciones

notas.py
nota = float(input('Ingresa tu nota (0-5): '))

if nota >= 4.5:
    print("Excelente")
elif nota >= 4.0:
    print("Muy bien")
elif nota >= 3.0:
    print("Aprobado")
else:
    print("Reprobado - Sigue intentando")

7Bucles: for y while

Los bucles permiten repetir código automáticamente. Python tiene dos tipos: for (repeticiones definidas) y while (mientras se cumpla una condición).

Bucle for — Tabla de multiplicar

tabla_multiplicar.py
numero = int(input('De que numero quieres la tabla? '))

print(f'\n--- Tabla del {numero} ---')
for i in range(1, 11):
    resultado = numero * i
    print(f'{numero} x {i} = {resultado}')
▶ Salida para numero = 5
--- Tabla del 5 ---
5 x 1 = 5
5 x 2 = 10
5 x 3 = 15
5 x 4 = 20
5 x 5 = 25
5 x 6 = 30
5 x 7 = 35
5 x 8 = 40
5 x 9 = 45
5 x 10 = 50

Bucle while — Juego: adivina el número

adivina.py
secreto   = 42
intentos  = 0

while True:
    numero = int(input('Adivina el numero (1-100): '))
    intentos += 1

    if numero < secreto:
        print("Muy bajo, intenta con un numero mayor")
    elif numero > secreto:
        print("Muy alto, intenta con un numero menor")
    else:
        print(f'Correcto! Lo lograste en {intentos} intentos')
        break

8Funciones en Python

Las funciones son bloques de código reutilizables. Evitan repetir código, hacen los programas más organizados y son fundamentales en cualquier proyecto real.

funciones.py
def saludar(nombre):
    """Funcion que saluda a una persona"""
    print(f"Hola, {nombre}! Bienvenido a Python")

def calcular_area_rectangulo(base, altura):
    """Calcula y retorna el area de un rectangulo"""
    area = base * altura
    return area

def es_par(numero):
    """Retorna True si el numero es par"""
    return numero % 2 == 0

# Llamar a las funciones
saludar("Carlos")
print('Area:', calcular_area_rectangulo(5, 3))
print("Es 8 par?", es_par(8))
print("Es 7 par?", es_par(7))
▶ Salida
Hola, Carlos! Bienvenido a Python
Area: 15
Es 8 par? True
Es 7 par? False

9🏋 Ejercicios Prácticos Resueltos

Aquí tienes 3 ejercicios completos para practicar todo lo aprendido. Cada uno combina variables, condicionales, bucles y funciones.

📋 Ejercicio 1: Promedio de estudiantes

Dado un número N de estudiantes, pide sus notas y calcula el promedio general. Indica cuántos aprobaron (nota >= 3.0) y cuántos reprobaron.

promedio_estudiantes.py
def calcular_promedio_estudiantes():
    n = int(input('Cuantos estudiantes? '))
    notas      = []
    aprobados  = 0
    reprobados = 0

    for i in range(1, n + 1):
        nota = float(input(f'Nota del estudiante {i}: '))
        notas.append(nota)
        if nota >= 3.0:
            aprobados += 1
        else:
            reprobados += 1

    promedio = sum(notas) / n
    print('\n===== RESULTADOS =====')
    print(f'Promedio general: {promedio:.2f}')
    print(f'Aprobados:  {aprobados}')
    print(f'Reprobados: {reprobados}')

calcular_promedio_estudiantes()
📋 Ejercicio 2: ¿El número es primo?

Determina si un número ingresado por el usuario es primo o no. Un número primo solo es divisible entre 1 y sí mismo.

numero_primo.py
def es_primo(numero):
    if numero < 2:
        return False
    for i in range(2, int(numero**0.5) + 1):
        if numero % i == 0:
            return False
    return True

num = int(input('Ingresa un numero: '))

if es_primo(num):
    print(f'{num} ES un numero primo')
else:
    print(f'{num} NO es un numero primo')
📋 Ejercicio 3: Conversor de temperatura

Crea un programa que convierta temperaturas entre Celsius, Fahrenheit y Kelvin según la opción del usuario.

conversor_temperatura.py
def celsius_a_fahrenheit(c):
    return (c * 9/5) + 32

def celsius_a_kelvin(c):
    return c + 273.15

def fahrenheit_a_celsius(f):
    return (f - 32) * 5/9

print("=== CONVERSOR DE TEMPERATURA ===")
print("1. Celsius a Fahrenheit")
print("2. Celsius a Kelvin")
print("3. Fahrenheit a Celsius")

opcion = int(input('Elige una opcion (1-3): '))
temp   = float(input('Ingresa la temperatura: '))

if opcion == 1:
    print(f'{temp} C = {celsius_a_fahrenheit(temp):.2f} F')
elif opcion == 2:
    print(f'{temp} C = {celsius_a_kelvin(temp):.2f} K')
elif opcion == 3:
    print(f'{temp} F = {fahrenheit_a_celsius(temp):.2f} C')
else:
    print("Opcion no valida")
▶ Ejemplo de salida
=== CONVERSOR DE TEMPERATURA ===
1. Celsius a Fahrenheit
2. Celsius a Kelvin
3. Fahrenheit a Celsius
Elige una opcion (1-3): 1
Ingresa la temperatura: 100
100.0 C = 212.00 F

10Conclusión y próximos pasos

¡Felicitaciones! Si llegaste hasta aquí ya conoces los fundamentos de Python: variables, tipos de datos, operaciones matemáticas, condicionales, bucles y funciones. Estos son los ladrillos con los que se construye cualquier programa.

🚀 ¿Qué aprender después?
  • Listas y diccionarios en Python
  • Programación Orientada a Objetos (POO)
  • Manejo de archivos con Python
  • Librerías: NumPy, Pandas, Matplotlib
  • Proyectos: calculadora, juegos, automatización

Recuerda: la clave para aprender programación es practicar todos los días. Toma cada ejercicio, modifícalo, rómpelo y vuélvelo a armar. ¡Así es como se aprende a programar de verdad!

🐍 ¿Te fue útil esta guía?

Déjanos un comentario con tus dudas y comparte con tus compañeros de clase.
Suscríbete al blog para recibir más ejercicios resueltos cada semana.

Python Programación Principiantes Ejercicios resueltos Paso a paso En español
📖 También te puede interesar
  • Listas en Python — Guía Completa con Ejercicios Resueltos
  • Diccionarios en Python — Guía Completa con Ejercicios
  • Funciones en Python: def, return y parámetros
  • Programación Orientada a Objetos en Python

Comentarios

Entradas populares de este blog

Programación Orientada a Objetos en Python: Clases y Objetos

Diccionarios en Python: Guía Completa con Ejemplos