J'ai quelque chose comme ceci:Créer des propriétés en utilisant getter lambda et régleurs
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)
Puis-je remplacer get_name
et set_name
en utilisant les fonctions lambda?
J'ai essayé ceci:
name = property(lambda self: self.__name, lambda self, value: self.__name = self.process_value(value))
mais compilateur n'aime pas ma fonction setter.
Qu'est-ce que "lissée"? –
Probablement «quelque chose». – hughdbrown
Il semble que vous essayez de rendre les définitions de propriété plus obscures. Quel est le point de remplacer les fonctions simples avec lambdas? –