Welcome to constantdict’s documentation¶
This site covers constantdict’s API documentation. For more information about constantdict, see the Github repository.
Usage¶
The constantdict
class can be used as a replacement for dict
.
The API is the same as dict
, but without methods that mutate the
dictionary.
from constantdict import constantdict
cd = constantdict({1: 2})
# constantdicts compare equal to dicts with the same items
assert cd == {1: 2}
# constantdicts are hashable, and their hashes are cached
print(hash(cd), cd)
# Attempting to modify a constantdict in-place raises an AttributeError
try:
# Similar for pop(), popitem(), clear(), and del
cd[4] = 12
except AttributeError:
pass
# Some methods return a mutated copy of a constantdict
cd_new = cd.setdefault(10, 5)
assert cd_new == {1: 2, 10: 5}
# Similar for set(), update(), delete(), discard()
# Performing multiple mutations can be faster via mutate()/finish()
cd_mut = cd.mutate() # cd_mut is a mutable copy of cd
cd_mut[42] = 0
del cd_mut[1]
cd_new2 = cd_mut.finish() # cd_new2 is an immutable version of cd_mut
assert cd_new2 == {42: 0}
Some additional methods compared to dict
are provided, see the API
reference below.