[pyar] __lt__ entre clases
Franco Rodríguez
franco.rodriguezf en gmail.com
Mie Sep 9 12:14:20 ART 2015
Mortal! fijate que con total_ordering (
https://docs.python.org/2/library/functools.html#functools.total_ordering)
podés definir un orden total a partir de los otros. Ojo con definir el
__eq__(cls, other) como cls == other porq vas a entrar en una recursión
infinita, jaja. Quizás lo puedas hacer con cls.__name__ == other.__name__.
Me alegro que te sirva, no sé si será la mejor forma. Mi forma es la misma
que la de gaitán, nada más q estoy definiendo el poset.
El 9 de septiembre de 2015, 12:02, Pablo Ventura <pablogventura en gmail.com>
escribió:
>
> El 9 de septiembre de 2015, 11:43, Martín Gaitán <gaitan en gmail.com>
> escribió:
>
>>
>> fijate que hay una función
>>
>> >>> issubclass(B, A)
>> True
>>
>
> Gracias! pero no me serviria porque me olvide de decir que necesito __lt__
> para poder hacer despues min(A,B,C) =A
>
> y ordenar listas con las clases.
>
>
> El 9 de septiembre de 2015, 11:47, Franco Rodríguez <
> franco.rodriguezf en gmail.com> escribió:
>
>> Esto no sirve?:
>>
>> class M(type):
>> def __init__(cls, name, bases, attrs):
>> super(M, cls).__init__(name, bases, attrs)
>>
>> def __lt__(cls, otherC):
>> return issubclass(cls, otherC)
>>
>>
>> class A(object):
>> __metaclass__ = M
>> pass
>>
>>
>> class B(A):
>> pass
>>
>>
>> class C(B):
>> pass
>>
>> Esto me viene perfecto! Muchas gracias!
>
>
>
> _______________________________________________
> pyar mailing list pyar en python.org.ar
> http://listas.python.org.ar/listinfo/pyar
>
> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>
> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
> Argentina - http://www.usla.org.ar
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20150909/10db6ef8/attachment.html>
More information about the pyar
mailing list