Clases y Objetos
Una clase es un plano para crear objetos que agrupan datos (atributos) junto con las funciones que operan sobre esos datos (métodos). Cada perro que crees a partir de una clase Dog comparte la misma estructura, pero guarda sus propios valores.
main.py
Pruébalo tú mismo →class Dog:
def __init__(self, name, age):
self.name = name
self.age = age
def bark(self):
return f"{self.name} says Woof!"
my_dog = Dog("Rex", 3)
print(my_dog.name)
print(my_dog.bark())Output
Rex Rex says Woof!
- __init__ se ejecuta automáticamente cuando creas un nuevo objeto — es donde configuras los datos iniciales del objeto
- self hace referencia al objeto concreto sobre el que se está llamando el método — siempre es el primer parámetro de un método
- self.name = name guarda el valor como un atributo, así cualquier método de este objeto puede acceder a él después
- Dog("Rex", 3) crea un objeto real (una "instancia") de la clase Dog
Podrías crear tantos perros como quisieras a partir de la misma clase — Dog("Bella", 5), Dog("Max", 1) — cada uno manteniendo su propio nombre y edad de forma independiente.
Siguiente: módulos — usar la librería estándar de Python en vez de escribir todo desde cero.
Ejercicio de práctica
Añade un método honk() a la clase Car que devuelva f"{self.make} says beep!", y luego imprime el resultado de llamarlo en un Car("Toyota").