How to subclass a built-in int type and prevent comparisons

castironpi at gmail.com castironpi at gmail.com
Fri Feb 29 22:26:32 CET 2008


On Feb 29, 3:09 pm, "Terry Reedy" <tjre... at udel.edu> wrote:
> "Bronner, Gregory" <gregory.bron... at lehman.com> wrote in message
>
> news:21CFA1FC32D3214EBFA2F449FF211E310EAD2948 at nypcmg1exms318.leh.lbcorp.lehman.com...
> | The native implementation of int goes to great lengths to allow
> | illogical comparisons such as the one below.
> | >>> import xml as x
> | >>> x
> | >>> <module 'xml' from 'c:\python25\lib\xml\__init__.pyc'>
> |
> | >>> x>4
> | True
> | >>> x<4
> | False
>
> Python once made all objects comparable.
> No longer true.
> 'Illogical' comparisons will raise exceptions in 3.0
> but must be maintained in 2.x for back compatibility.
>
> tjr

Tell Wall.  But why not [ 2, 3 ]>= 2?  Back to your question, another
option is to not subclass.



More information about the Python-list mailing list