Supongamos que las instancias de mi ClassA terminarán en una estructura de datos y sabemos que sorted() será invocado. Es el código de otra persona que llamará a sorted(), por lo que no puedo especificar una función de clasificación, pero puedo implementar los métodos apropiados en ClassA.¿Es seguro implementar __lt__ para una clase que será ordenada?
Me parece que
def __lt__(self, other):
es suficiente y que no es necesario poner en práctica las otras cinco o más métodos (qt, eq, le, ge, ne).
¿Es esto suficiente?
Gracias, esto es perfecto! –
El tipo de Python * está * documentado como el que usa únicamente '__lt __()', solo para el registro, pero el futuro está a prueba. ¡No sabía sobre este! – kindall
@kindall ¿Lo obtuviste de mi guía de cómo ordenar? Proporcione un enlace para que pueda editar los documentos y aclarar que no se recomienda confiar en \ _ \ _ lt \ _ \ _. –