A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from http://mail.python.org/pipermail/python-dev/2009-September/092253.html below:

[Python-Dev] PEP 3144 review.

[Python-Dev] PEP 3144 review."Martin v. Löwis" martin at v.loewis.de
Mon Sep 28 21:52:53 CEST 2009
> 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'

I can understand the debate around the comparison.

I cannot understand the complaint that networks where the base
address is not null-terminated should be banned, or useless
(which was the original concern that I responded to).

> Everything else is pretty much bikeshedding and can be dealt with.  This
> is fundamental and Peter has indicated he will not change it.

I can see why either behavior is desirable (i.e. comparison should
either use the specified address, or the network address); following
the Python Zen, we should refuse the temptation to guess.

Unfortunately, that would mean that we should provide two comparison
operations, and have neither available as == (unless one is more clearly
right than the other, which I'm skeptical about).

Regards,
Martin
More information about the Python-Dev mailing list

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4