python-frozendict
python-frozendict copied to clipboard
A simple immutable mapping for python
========== frozendict
frozendict
is an immutable wrapper around dictionaries that implements the
complete mapping interface. It can be used as a drop-in replacement for
dictionaries where immutability is desired.
Of course, this is python
, and you can still poke around the object's
internals if you want.
The frozendict
constructor mimics dict
, and all of the expected
interfaces (iter
, len
, repr
, hash
, getitem
) are provided.
Note that a frozendict
does not guarantee the immutability of its values, so
the utility of hash
method is restricted by usage.
The only difference is that the copy()
method of frozendict
takes
variable keyword arguments, which will be present as key/value pairs in the new,
immutable copy.
Example shell usage:
.. code-block:: python
from frozendict import frozendict
fd = frozendict({ 'hello': 'World' })
print fd
# <frozendict {'hello': 'World'}>
print fd['hello']
# 'World'
print fd.copy(another='key/value')
# <frozendict {'hello': 'World', 'another': 'key/value'}>