Erstellen von Eigenschaften mittels getter-und setter-lambda

Ich habe so etwas wie dieses:

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)

Kann ich ersetzen get_name und set_name Verwendung von lambda-Funktionen?

Habe ich versucht, dieses:

name = property(lambda self: self.__name, lambda self, value: self.__name = self.process_value(value))

aber der compiler gar nicht, wie mein Set-Funktion.

  • Was ist "smth"?
  • Wahrscheinlich 'etwas.'
  • Es scheint, wie Sie versuchen, die Eigenschaft Definitionen zu verschleiern. Was ist der Punkt zu ersetzen einfache Funktionen mit Lambda-Ausdrücke?
InformationsquelleAutor zinovii | 2009-08-03
Schreibe einen Kommentar