__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
__repr__devuelve texto con forma de código para depurar.!rdentro del f-string entrecomilla bien los campos.__eq__compara tuplas de campos, así las cartas iguales coinciden.
Palabras clave y builtins usados aquí
classdefreturnself
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.
Paso 4 de 5 en Clases; paso 42 de 72 en Fundamentos del lenguaje.