Lección 7.3.1: Métodos Especiales, Primera Parte
Métodos Especiales en Python POO: __str__ y __add__
Introducción
¡Hola a todos! Soy Yuscu Mejía y en esta lección vamos a explorar los métodos especiales en Python orientado a objetos, en particular __str__ y __add__. Estos métodos nos permiten definir cómo se comportan nuestros objetos en ciertas operaciones y cómo se representan como cadenas de texto.
Características
Los métodos especiales en Python, también conocidos como métodos mágicos, tienen las siguientes características:
__str__: Define la representación en forma de cadena de texto de un objeto. Es utilizado por las funcionesprint()ystr().__add__: Permite definir el comportamiento de la suma (+) entre objetos de una clase.- Estos métodos especiales se definen dentro de la clase y se invocan automáticamente cuando se realiza la operación correspondiente.
- Permiten personalizar y extender el comportamiento de los operadores y funciones integradas de Python.
Ejemplos
A continuación, algunos ejemplos de cómo utilizar los métodos especiales __str__ y __add__ en Python:
- Definición de una clase con los métodos
__str__y__add__:
# Definir una clase llamada 'Vector'
class Vector:
def __init__(self, x, y):
self.x = x
self.y = y
def __str__(self):
return f"Vector({self.x}, {self.y})"
def __add__(self, otro):
return Vector(self.x + otro.x, self.y + otro.y)
# Crear instancias de la clase 'Vector'
v1 = Vector(2, 3)
v2 = Vector(5, 7)
# Utilizar el método __str__
print(v1) # Imprime: Vector(2, 3)
# Utilizar el método __add__
v3 = v1 + v2
print(v3) # Imprime: Vector(7, 10)
Práctica
Para practicar, les invito a ver nuestro tutorial en video sobre métodos especiales en Python POO:
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

Ejercicio
Ahora les propongo un ejercicio para aplicar lo que hemos aprendido sobre los métodos especiales __str__ y __add__ en Python:
Ejercicio: Implementar Métodos Especiales
Vamos a definir una clase llamada Rectangulo con atributos ancho y alto. Implementaremos los métodos __str__ para mostrar las dimensiones del rectángulo y __add__ para sumar las áreas de dos rectángulos:
#Ejercicio
# Definir una clase llamada 'Rectangulo'
class Rectangulo:
def __init__(self, ancho, alto):
self.ancho = ancho
self.alto = alto
def __str__(self):
return f"Rectángulo({self.ancho} x {self.alto})"
def area(self):
return self.ancho * self.alto
def __add__(self, otro):
return self.area() + otro.area()
# Crear instancias de la clase 'Rectangulo'
r1 = Rectangulo(4, 5)
r2 = Rectangulo(3, 7)
# Utilizar el método __str__
print(r1) # Imprime: Rectángulo(4 x 5)
print(r2) # Imprime: Rectángulo(3 x 7)
# Utilizar el método __add__ para sumar áreas
area_total = r1 + r2
print(f"Área total: {area_total}") # Imprime: Área total: 41

