treams.util.AnnotationDict¶
- class treams.util.AnnotationDict(items=(), /, **kwargs)¶
Dictionary that notifies the user when overwriting keys.
Behaves mostly similar to regular dictionaries, except that when overwriting existing keys a
AnnotationWarningis emmitted.Examples
An
AnnotationDictcan be created from other mappings, from a list of key-value pairs (note how a warning is emmitted for the duplicate key), and from keyword arguments.>>> AnnotationDict({"a": 1, "b": 2}) AnnotationDict({'a': 1, 'b': 2}) >>> AnnotationDict([("a", 1), ("b", 2), ("a", 3)]) treams/util.py:74: AnnotationWarning: overwriting key 'a' warnings.warn(f"overwriting key '{key}'", AnnotationWarning) AnnotationDict({'a': 3, 'b': 2}) >>> AnnotationDict({"a": 1, "b": 2}, c=3) AnnotationDict({'a': 1, 'b': 2, 'c': 3})
- Warns:
AnnotationWarning
Methods
__eq__(other)Return self==value.
__ge__(value, /)Return self>=value.
__getitem__(key)Get a value by its key.
__gt__(value, /)Return self>value.
__le__(value, /)Return self<=value.
__len__()Number of keys contained.
__lt__(value, /)Return self<value.
__ne__(value, /)Return self!=value.
__repr__()String representation.
__setitem__(key, val)Set item specified by key to the defined value.
__str__()Return str(self).
clear()get(k[,d])items()keys()match(other)Compare the own keys to another dictionary.
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()__gt__(value, /)Return self>value.
__eq__(other)Return self==value.
__le__(value, /)Return self<=value.
__ne__(value, /)Return self!=value.
__ge__(value, /)Return self>=value.
__str__()Return str(self).
__lt__(value, /)Return self<value.