typestar

Sobrecarga de operadores en Python

Darle a una clase significado para +, * y repr.

class Vector:
    def __init__(self, x, y):
        self.x, self.y = x, y

    def __add__(self, otro):
        return Vector(self.x + otro.x, self.y + otro.y)

    def __mul__(self, escala):
        return Vector(self.x * escala, self.y * escala)

    def __repr__(self):
        return f"Vector({self.x}, {self.y})"


v = Vector(1, 2) + Vector(3, 4)
w = v * 10

Cómo funciona

  1. __add__ define qué hace + entre vectores.
  2. __mul__ escala el vector por un número.
  3. __repr__ le da una forma legible.

Palabras clave y builtins usados aquí

El intento, en números

Líneas
16
Caracteres a escribir
314
Tokens
117
Ritmo de tres estrellas
105 tpm

Al ritmo de tres estrellas de 105 tokens por minuto, este intento toma unos 67 segundos.

Escribe este fragmento

Paso 4 de 5 en Protocolos y gestores de contexto; paso 18 de 53 en Python pythónico.

← Anterior Siguiente →