https://foro.gambas-es.org/viewtopic.php?f=16&t=3641
-----------------------------------
Shell
Sabado, 22 Febrero 2014, 01:03

[Python] Guía A Los Métodos "mágicos" De Python
-----------------------------------
Hola!.

Hay métodos especiales que a veces no vienen muy documentados o son difíciles de encontrar. ( Sobre todo encontrar un ejemplo)
 Métodos como estos, podemos encontrarnos __cmp__ que ya no se usan en Python3 y se
debe usar __lt__ y __eq__

(Los métodos de arriba son para comparación).

En este enlace encontrareis información al respecto y ademas también podéis bajarlo en pdf.

http://www.rafekettler.com/magicmethods.html

No es un buen ejemplo de mucho uso con estos metodos, pero es funcional.

[code linenumbers=false syntax=python]
# Ejemplo con metodo lt, menor que, __gt__mayor que,__eq__igual que.

class numero(object):

    def __init__(self,valor):
        self.valor = valor

# Menor que
    def __lt__(self,otro):
        if self.valor < otro.valor:
            return -1
# Mayor que
    def __gt__(self,otro):
        if self.valor > otro.valor:
            return 1
# Igual que
    def __eq__(self,otro):
        if self.valor == otro.valor:
            return 0
            

numero1 = numero(12)
numero2 = numero(4)

print (numero1 > numero2)
print (numero1 < numero2)
print (numero1 == numero2)
[/code]

Al usar los métodos y la comparación no se cumple. Devuelve None.

Saludos


