scriptconfig.dict_like module¶
Defines DictLike which is a mixin class that makes it easier for
objects to duck-type dictionaries.
- class scriptconfig.dict_like.DictLike[source]¶
Bases:
object- An inherited class must specify the
getitem,setitem, and keysmethods.
A class is dictionary like if it has:
__iter__,__len__,__contains__,__getitem__,items,keys,values,get,and if it should be writable it should have:
__delitem__,__setitem__,update,And perhaps:
copy,__iter__,__len__,__contains__,__getitem__,items,keys,values,get,and if it should be writable it should have:
__delitem__,__setitem__,update,And perhaps:
copy,Example
from scriptconfig.dict_like import DictLike class DuckDict(DictLike):
- def __init__(self, _data=None):
- if _data is None:
_data = {}
self._data = _data
- def getitem(self, key):
return self._data[key]
- def keys(self):
return self._data.keys()
self = DuckDict({1: 2, 3: 4}) print(f’self._data={self._data}’) cast = dict(self) print(f’cast={cast}’) print(f’self={self}’)
- An inherited class must specify the