Base Classes

About

FrozenBase is the base class for frozendict and FrozenOrderedDict. If you wish to construct your own frozen dictionary classes, you may inherit from this class.

API Reference

Base Classes

Classes:

DictWrapper(*args, **kwds)

Abstract Mixin class for classes that wrap a dict object or similar

FrozenBase(*args, **kwds)

Abstract Base Class for Frozen dictionaries

MutableBase(*args, **kwds)

Abstract Base Class for mutable dictionaries

class DictWrapper(*args, **kwds)[source]

Bases: collections.abc.Mapping, typing.Generic

Abstract Mixin class for classes that wrap a dict object or similar

Methods:

__contains__(key)

Return key in self.

__eq__(other)

Return self == other.

__getitem__(key)

Return self[key].

__iter__()

Iterates over the dictionary’s keys

__len__()

Returns the number of keys in the dictionary.

__repr__()

Return a string representation of the DictWrapper.

get()

Return the value for k if k is in the dictionary, else default.

items()

Returns a set-like object providing a view on the bdict’s items.

keys()

Returns a set-like object providing a view on the bdict’s keys.

values()

Returns an object providing a view on the bdict’s values.

__contains__(key)[source]

Return key in self.

Parameters

key (object)

Return type

bool

__eq__(other)

Return self == other.

Return type

bool

__getitem__(key)[source]

Return self[key].

Parameters

key (~KT)

Return type

~VT

__iter__()[source]

Iterates over the dictionary’s keys

Return type

Iterator[~KT]

__len__()[source]

Returns the number of keys in the dictionary.

Return type

int

__repr__()[source]

Return a string representation of the DictWrapper.

Return type

str

get(k: KT) → Optional[VT][source]
get(k: KT, default: Union[VT, T]) → Union[VT, T]

Return the value for k if k is in the dictionary, else default.

Parameters
  • k – The key to return the value for.

  • default – The value to return if key is not in the dictionary. Default None.

items()[source]

Returns a set-like object providing a view on the bdict’s items.

Return type

AbstractSet[Tuple[~KT, ~VT]]

keys()[source]

Returns a set-like object providing a view on the bdict’s keys.

Return type

AbstractSet[~KT]

values()[source]

Returns an object providing a view on the bdict’s values.

Return type

ValuesView[~VT]

class FrozenBase(*args, **kwds)[source]

Bases: cawdrey.base.DictWrapper

Abstract Base Class for Frozen dictionaries

Used by frozendict and FrozenOrderedDict.

Custom subclasses must implement at a minimum __init__, copy, fromkeys.

Methods:

__contains__(key)

Return key in self.

__eq__(other)

Return self == other.

__getitem__(key)

Return self[key].

__iter__()

Iterates over the dictionary’s keys

__len__()

Returns the number of keys in the dictionary.

__repr__()

Return a string representation of the DictWrapper.

fromkeys()

Create a new dictionary with keys from iterable and values set to value.

get(k[, default])

Return the value for k if k is in the dictionary, else default.

items()

Returns a set-like object providing a view on the bdict’s items.

keys()

Returns a set-like object providing a view on the bdict’s keys.

values()

Returns an object providing a view on the bdict’s values.

__contains__(key)

Return key in self.

Parameters

key (object)

Return type

bool

__eq__(other)

Return self == other.

Return type

bool

__getitem__(key)

Return self[key].

Parameters

key (~KT)

Return type

~VT

__iter__()

Iterates over the dictionary’s keys

Return type

Iterator[~KT]

__len__()

Returns the number of keys in the dictionary.

Return type

int

__repr__()

Return a string representation of the DictWrapper.

Return type

str

classmethod fromkeys(iterable: Iterable[_T])FrozenBase[_T, Any][source]
classmethod fromkeys(iterable: Iterable[_T], value: _S)FrozenBase[_T, _S]

Create a new dictionary with keys from iterable and values set to value.

get(k, default=None)

Return the value for k if k is in the dictionary, else default.

Parameters
  • k – The key to return the value for.

  • default – The value to return if key is not in the dictionary. Default None.

items()

Returns a set-like object providing a view on the bdict’s items.

Return type

AbstractSet[Tuple[~KT, ~VT]]

keys()

Returns a set-like object providing a view on the bdict’s keys.

Return type

AbstractSet[~KT]

values()

Returns an object providing a view on the bdict’s values.

Return type

ValuesView[~VT]

class MutableBase(*args, **kwds)[source]

Bases: cawdrey.base.DictWrapper, collections.abc.MutableMapping, typing.Generic

Abstract Base Class for mutable dictionaries

Used by NonelessDict and NonelessOrderedDict.

Custom subclasses must implement at a minimum __init__, copy, fromkeys.

Methods:

__contains__(key)

Return key in self.

__eq__(other)

Return self == other.

__getitem__(key)

Return self[key].

__iter__()

Iterates over the dictionary’s keys

__len__()

Returns the number of keys in the dictionary.

__repr__()

Return a string representation of the DictWrapper.

clear()

fromkeys()

Create a new dictionary with keys from iterable and values set to value.

get(k[, default])

Return the value for k if k is in the dictionary, else default.

items()

Returns a set-like object providing a view on the bdict’s items.

keys()

Returns a set-like object providing a view on the bdict’s keys.

pop(k[,d])

If key is not found, d is returned if given, otherwise KeyError is raised.

popitem()

as a 2-tuple; but raise KeyError if D is empty.

setdefault(k[,d])

update([E, ]**F)

If E present and has a .keys() method, does: for k in E: D[k] = E[k] If E present and lacks .keys() method, does: for (k, v) in E: D[k] = v In either case, this is followed by: for k, v in F.items(): D[k] = v

values()

Returns an object providing a view on the bdict’s values.

__contains__(key)

Return key in self.

Parameters

key (object)

Return type

bool

__eq__(other)

Return self == other.

Return type

bool

__getitem__(key)

Return self[key].

Parameters

key (~KT)

Return type

~VT

__iter__()

Iterates over the dictionary’s keys

Return type

Iterator[~KT]

__len__()

Returns the number of keys in the dictionary.

Return type

int

__repr__()

Return a string representation of the DictWrapper.

Return type

str

clear() → None. Remove all items from D.
classmethod fromkeys(iterable: Iterable[_T])MutableBase[_T, Any][source]
classmethod fromkeys(iterable: Iterable[_T], value: _S)MutableBase[_T, _S]

Create a new dictionary with keys from iterable and values set to value.

get(k, default=None)

Return the value for k if k is in the dictionary, else default.

Parameters
  • k – The key to return the value for.

  • default – The value to return if key is not in the dictionary. Default None.

items()

Returns a set-like object providing a view on the bdict’s items.

Return type

AbstractSet[Tuple[~KT, ~VT]]

keys()

Returns a set-like object providing a view on the bdict’s keys.

Return type

AbstractSet[~KT]

pop(k[, d]) → v, remove specified key and return the corresponding value.

If key is not found, d is returned if given, otherwise KeyError is raised.

popitem() → (k, v), remove and return some (key, value) pair

as a 2-tuple; but raise KeyError if D is empty.

setdefault(k[, d]) → D.get(k,d), also set D[k]=d if k not in D
update([E, ]**F) → None. Update D from mapping/iterable E and F.

If E present and has a .keys() method, does: for k in E: D[k] = E[k] If E present and lacks .keys() method, does: for (k, v) in E: D[k] = v In either case, this is followed by: for k, v in F.items(): D[k] = v

values()

Returns an object providing a view on the bdict’s values.

Return type

ValuesView[~VT]