Conceptos Básicos de Python: Programación Orientada a Objetos (OOP)
Hoja de referencia de POO (Extra)
Lesson 7 of 7 • 10 XP
Keep your place in this quest
Log in or sign up for free to subscribe, follow lesson progress, and access more learning content.
🐍 Python OOP Cheat Sheet
Una referencia rápida para todo lo que has aprendido en la misión Python Basics: Object-Oriented Programming.
1. Clases y Objetos
Definiendo una Clase
class Person:
def __init__(self, name, age):
self.name = name # Atributo público
self.age = age # Atributo público
def greet(self):
print(f"Hello, my name is {self.name} and I am {self.age} years old.")
Creando un Objeto
p1 = Person("John", 30)
p1.greet() # Hello, my name is John and I am 30 years old.
2. Atributos y Métodos
- Atributos = variables que pertenecen a un objeto (
self.attribute) - Métodos = funciones que pertenecen a un objeto (
def method(self):)
Accediendo:
print(p1.name) # Atributo
p1.greet() # Método
3. Herencia
Herencia Básica
class Animal:
def __init__(self, name):
self.name = name
def sound(self):
print("Some generic sound")
class Dog(Animal):
def sound(self):
print("Woof woof!")
dog = Dog("Rex")
dog.sound() # Woof woof!
4. super()
Llamando al Constructor del Padre
class Dog(Animal):
def __init__(self, name, breed):
super().__init__(name) # Llama a __init__ de Animal
self.breed = breed
5. Sobrescritura de Métodos
Las clases hijas pueden reemplazar métodos de la clase padre:
class Cat(Animal):
def sound(self):
print("Meow!")
6. Atributos y Métodos Privados
Marca como Privado con __
class Person:
def __init__(self, name, age):
self.name = name
self.__age = age # Atributo privado
def __print_age(self): # Método privado
print(self.__age)
def show_info(self):
print(self.name)
self.__print_age()
Acceder a miembros privados directamente fallará:
p = Person("Alice", 25)
p.__age # ❌ AttributeError
p._Person__age # ✅ Funciona, pero no recomendado
7. Términos Clave de OOP
| Término | Significado |
|---|---|
| Class | Plano para objetos. |
| Object | Instancia de una clase con sus propios datos. |
| Attribute | Variable dentro de un objeto. |
| Method | Función dentro de una clase. |
| Constructor | Método especial __init__ llamado al crear un objeto. |
| Inheritance | Mecanismo para reutilizar código de otra clase. |
| Overriding | Redefinir un método de una clase padre. |
super() |
Llama métodos de la clase padre. |
| Private | Prefijado con __ para indicar uso interno solamente. |
8. Buenas Prácticas Rápidas
- Usa PascalCase para nombres de clases:
MyClass - Usa
selfpara referirte al objeto actual - Mantén los métodos enfocados en una sola tarea
- Usa miembros privados para detalles internos
- Llama a
super().__init__()si sobrescribes__init__en una clase hija - Prefiere composición o herencia sabiamente — no heredes solo por heredar
📌 Recuerda: OOP se trata de pensar en sustantivos (cosas) y sus comportamientos. Modela conceptos del mundo real, mantiene el código organizado y reutiliza cuando sea posible.