typestar

__repr__ y __eq__ en Python

Enseñar a los objetos a imprimirse y a compararse por valor.

class Carta:
    def __init__(self, rango, palo):
        self.rank = rango
        self.suit = palo

    def __repr__(self):
        return f"Carta({self.rank!r}, {self.suit!r})"

    def __eq__(self, otra):
        return (self.rank, self.suit) == (otra.rank, otra.suit)


as_de_picas = Carta("A", "picas")
copia = Carta("A", "picas")
iguales = as_de_picas == copia

Cómo funciona

  1. __repr__ devuelve texto con forma de código para depurar.
  2. !r dentro del f-string entrecomilla bien los campos.
  3. __eq__ compara tuplas de campos, así las cartas iguales coinciden.

Palabras clave y builtins usados aquí

El intento, en números

Líneas
15
Caracteres a escribir
323
Tokens
103
Ritmo de tres estrellas
100 tpm

Al ritmo de tres estrellas de 100 tokens por minuto, este intento toma unos 62 segundos.

Escribe este fragmento

Paso 4 de 5 en Clases; paso 42 de 72 en Fundamentos del lenguaje.

← Anterior Siguiente →