[Python-Dev] PEP 3144 review.

Guido van Rossum guido at python.org
Tue Sep 29 23:23:39 CEST 2009


On Tue, Sep 29, 2009 at 2:05 PM, Terry Reedy <tjreedy at udel.edu> wrote:
>> this is interesting. I would be open to doing this and making __lt__,
>> __gt__, __eq__ and friends do the non-ip comparing by default. would
>> this be sufficient or does the fact that the network has the .ip
>> attribute break something pythonic?
>
> To my naive viewpoint, yes and mostly no, and if Guido say yes and no, that
> would also be good enough for me.

Indeed I say yes and no.

> I do not think the cognitive load of .ip
> on learning the module is any greater than having a third class, especially
> if it is somewhat isolated in the doc as suggested below.

Here I disagree. I want users to have few choices of data types, since
they usually make the wrong choice (Ever tried to figure out whether
to use an ArrayList or a LinkedList in Java?)

So if there are two different but similar classes to represent a
network, distinguished only by whether they retain the denormalized
input address or not, users have a 50% chance of picking the wrong
one, while if there is only one class, there is a 100% chance of
picking the right one. (There is still the IPAddress class, but the
differences between IPAddress and IPNetwork are much  clearer.)

-- 
--Guido van Rossum (home page: http://www.python.org/~guido/)


More information about the Python-Dev mailing list