ho qualcosa di simile a questo:Creare proprietà utilizzando lambda getter e setter
class X():
def __init__(self):
self.__name = None
def _process_value(self, value):
# do something
pass
def get_name(self):
return self.__name
def set_name(self, value):
self.__name = self._process_value(value)
name = property(get_name, set_name)
Posso sostituire get_name
e set_name
utilizzando le funzioni lambda?
Ho provato questo:
name = property(lambda self: self.__name, lambda self, value: self.__name = self.process_value(value))
ma compilatore non piace la mia funzione setter.
Che cosa è "dovrebbe occupare"? –
Probabilmente "qualcosa". – hughdbrown
Sembra che tu stia cercando di rendere le definizioni della proprietà più oscure. Qual è il punto di sostituire semplici funzioni con lambda? –