Lección 7.1: Programación Orientada A Objetos, clase y más
Programación Orientada a Objetos en Python: Clases, Objetos, Constructores e Instancias
Introducción
¡Hola a todos! Soy Yuscu Mejía y en esta lección vamos a introducirnos en la Programación Orientada a Objetos (POO) en Python. Aprenderemos sobre clases, objetos, constructores e instancias, conceptos fundamentales para estructurar el código de manera modular y reutilizable.
Características
La Programación Orientada a Objetos en Python tiene las siguientes características:
- Una clase es una plantilla para crear objetos.
- Un objeto es una instancia de una clase.
- El constructor es un método especial que se llama cuando se crea una instancia de una clase.
- La POO permite encapsular datos y funciones dentro de objetos, promoviendo la modularidad y reutilización del código.
Práctica
Para practicar, les invito a ver nuestro tutorial en video sobre el estado y métodos de un objeto en Python:
Recorda si te gusta los videos, te agradeceria si le pones un comentario o un like para saber si subir mas videos! 😮
Si no sabes que comentar, comenta con: estoy avanzando rapido con el curso de Programacion python 🙂 asi te detectaremos que viniste de aca, para una estadistica si conviene o no subir videos

Ejemplos
A continuación, algunos ejemplos de cómo trabajar con clases, objetos, constructores e instancias en Python:
- Definición de una clase y creación de un objeto:
# Definir una clase llamada 'Persona'
class Persona:
def __init__(self, nombre, edad):
self.nombre = nombre
self.edad = edad
def saludar(self):
print(f"Hola, mi nombre es {self.nombre} y tengo {self.edad} años.")
# Crear una instancia de la clase 'Persona'
persona1 = Persona("Yuscu Mejía", 30)
# Llamar al método 'saludar' del objeto 'persona1'
persona1.saludar()
Ejercicio 1
Responder con verdadero o falso y justificar
a) Un constructor sirve para eliminar una clase.
b) Una clase es un objeto.
Ejercicio 2
Crear una clase Perro con su constructor que inicialice los atributos color y raza. Estas deben ser inicializadas por defecto en blanco y pitbull respectivamente.
a) Crear un objeto Perro con sus parámetros por defecto e imprimir sus atributos.
b) Crear otro objeto Perro (instanciar la clase Perro) con color marrón y raza bulldog. Imprimir sus atributos.
#Ejercicio1
#a) Falso, un constructor sirve para inicializar los atributos de una clase.
#b) Falso, una clase es una plantilla que define las características y capacidades de un objeto, mientras que un objeto es una instancia creada a partir de una clase.
#Ejercicio2
class Perro:
"""Representación de un perro, con los atributos color y raza."""
def __init__(self, color="blanco", raza="pitbull"):
"""Constructor de Perro.
Color y raza deben ser string y se inicializan por defecto en blanco y pitbull respectivamente."""
self.color = color
self.raza = raza
#a)
firulais = Perro()
print(firulais.color)
print(firulais.raza)
#b)
bobby = Perro(color="marron", raza="bulldog")
print(bobby.color)
print(bobby.raza)


class Perro:
def __init__(self, color=”blanco”, raza=”pitbull”):
self.color = color
self.raza = raza
# a) Crear objeto Perro con valores por defecto
perro1 = Perro()
print(“a) Perro con valores por defecto:”)
print(f” Color: {perro1.color}”)
print(f” Raza: {perro1.raza}”)
print()
# b) Crear objeto Perro con color marrón y raza bulldog
perro2 = Perro(“marrón”, “bulldog”)
print(“b) Perro con parámetros personalizados:”)
print(f” Color: {perro2.color}”)
print(f” Raza: {perro2.raza}”)