Inada Naoki added the comment:
I close this issue as rejected.
If you have opinion about this issue, please post to python-dev mailing list
or discuss.python.org.
--
resolution: -> rejected
stage: -> resolved
status: open -> closed
___
Python
Inada Naoki added the comment:
It is documented, if you read it carefully.
"Network objects are hashable, so they can be used as keys in dictionaries."
https://docs.python.org/3/library/ipaddress.html#network-objects
"""
An object is hashable if it has a hash value which never changes
Johannes Erwerle added the comment:
since it hasn't been documented that those classes are all designed to be
immutable (and many things work when they are mutable) many people probably use
it that way.
Declaring them immutable via the docs now would "break" existing code.
--
Inada Naoki added the comment:
All classes in the ipaddress module are designed as immutable.
While it is not documented, you can see __hash__ is overridden. It means you
must not change the object state.
--
assignee: -> docs@python
components: +Documentation
nosy: +docs@python,
Change by Johannes Erwerle :
--
title: ip_network does not clear/update the broadcast_address cache when the
IP address is changed. -> ip_network does not clear/update the
broadcast_address cache when network_address is changed.
___
Python