[Python-Dev] PEP 3144 review.

Eric Smith eric at trueblade.com
Mon Sep 28 16:16:30 CEST 2009


Mark Dickinson wrote:
> On Mon, Sep 28, 2009 at 3:04 PM, Daniel Stutzbach
> <daniel at stutzbachenterprises.com> wrote:
>> On Mon, Sep 28, 2009 at 7:24 AM, Nick Coghlan <ncoghlan at gmail.com> wrote:
>>> I should note that I've softened my position slightly from what I posted
>>> yesterday. I could live with the following compromise:
>>>
>>>    >>> x = IPv4Network('192.168.1.1/24')
>>>    >>> y = IPv4Network('192.168.1.0/24')
>>>    >>> x == y # Equality is the part I really want to see changed
>>>    True
>>>    >>> x.ip
>>>    IPv4Address('192.168.1.1')
>>>    >>> y.ip
>>>    IPv4Address('192.168.1.0')
>> With those semantics, IPv4Network objects with distinct IP addresses (but
>> the same network) could no longer be stored in a dictionary or set.  IMO, it
>> is a little counter-intuitive for objects to compare equal yet have
>> different properties.  I don't think this is a good compromise.
> 
> This worries me too.  It seems like a potentially dangerous half-measure.

I agree. I think keeping the concepts distinct and adding 2 new classes 
is a better solution.

Eric.



More information about the Python-Dev mailing list