, , , , , , dict " " "- , " " , , .features(0) , .features[0] ( !), , , . , :
def wrap(datum):
if isinstance(datum, basestring):
return datum
try: return datum + 0
except TypeError: pass
return Fourie(datum)
class Fourie(object):
def __init__(self, data):
self._data = data
def __getattr__(self, n):
return wrap(self._data[n])
def __call__(self, n):
return wrap(self._data[n])
, x = wrap(x['product']) ( , , , x.product.features(0).size, , , , - factory, ).
: OP , features[0], features(0),
def __getitem__(self, n):
return wrap(self._data[n])
i.e. __getitem__ ( , ) __call__ ( , ).
" " ( Fourie) " ", dict - , -, , - , .
, " ", , , .., , (, , , - ;-). " ", , , , , , ! -)