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 keys
methods.
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