[Python-Dev] PEP 3144 review.

R. David Murray rdmurray at bitdance.com
Mon Sep 28 13:50:25 CEST 2009


On Mon, 28 Sep 2009 at 07:34, R. David Murray wrote:
> The fundamental divide here is between two behaviors.
>
> ipaddr:
>
>    > > >  x = IPv4Network('192.168.1.1/24')
>    > > >  y = IPv4Network('192.168.1.0/24')
>    > > >  x == y
>     False
>    > > >  x.ip
>     IPv4Address('192.168.1.1')
>
> desired:
>
>    > > >  x = IPv4Network('192.168.1.1/24')
>    > > >  y = IPv4Network('192.168.1.0/24')
>    > > >  x == y
>     True
>    > > >  x.ip
>     Traceback (most recent call last):
>       File "<stdin>", line 1, in <module>
>     AttributeError: 'IPv4Network' object has no attribute 'ip'
>
> Everything else is pretty much bikeshedding and can be dealt with.  This
> is fundamental and Peter has indicated he will not change it.

By the way, I think this is a reasonable position on Peter's part.
He's got an installed base that expects the current behavior (ie: the
"field tested module" has this behavior; making this change would produce
a fundamentally new module that has _not_ been field tested).

But I also think that the current behavior is not a good behavior for
a module in the stdlib.

--David


More information about the Python-Dev mailing list