Firstly, the reason this does not work:
a = lamdba: pass
... , lambda , . pass , , .
:
a = lambda: None
Python , return, None. , :
def a(): return None
def a(): pass
, ; def (a <lambda>) .. - lambda - , , . , , lambda . def.
, " " , , ( , , dis.dis(a)), , , return None), . " ". a map, TypeError, . ( , map.)
, , - , as-is. :
def a(x): return x
, . data - ? - , , , ...?
, , . map, ? else, ( , ...). , , f = None, if f:, , . , :
added_property = [f(element) if f else element for element in data]
... ...
added_property = map(f, data) if f else data
, if/elif, , dict:
propfuncs = {'prop1': make_property1(),
'prop2': make_property2(),
'prop3': make_property3(),
'prop4': make_property4()}
:
f = propfuncs.get(self.property_currently_being_added)
added_property = map(f, data) if f else data
, , make_propertyN , make_property(1) make_property('prop1')... , , .