Hallo Lambda-Fan, du weißt nicht viel in der Pythonista!
Ich denke übrigens, Sie verwenden __str__
oder __unicode__
, um den Namen der Klasse anzuzeigen. Insbesondere denke ich, dass wir die folgende Klassendeklaration abgeben.
python
class NotLambda(object):
name = u'not lambda'
def __str__(self):
return '<%s>' % self.name
Aber halten Sie diese Erklärung nicht für etwas überflüssig? Besonders zurück. Wahrscheinlich ist es in den meisten Fällen eine Erklärung, dass nur eine Zeile ausreicht.
Übrigens war Lambda für eine solche Erklärung günstig. Mit Lambda können Sie wie folgt schreiben.
python
class UseLambda(object):
name = u'lambda'
__str__ = lambda self: '<%s>' % self.name
Ich denke, dass Lambda das folgende Verhalten hat, wenn es in def konvertiert wird.
python
def not_lambda(hoge):
return hoge + 1
test_def = not_lambda
print test_def(1)
Mit anderen Worten, indem Sie eine Funktion erstellen und mit dieser Variablen verbinden, können Sie diese Variable als Funktion verwenden. Wenn Sie es in Lambda ändern, wird es unten sein.
python
test_lambda = lambda hoge: hoge + 1
print test_lambda(1)
Also könnte str in Lambda definiert werden. Um ehrlich zu sein, fühlt es sich schlecht an :).