Lambda Python

Η λάμπα function είναι μια μικρή ανώνυμη συνάρτηση.

Η λάμπα function μπορεί να δεχτεί οποιοδήποτε αριθμό παραμέτρων, αλλά μπορεί να έχει μόνο μια έκφραση.

σύνταξη

λάμπα arguments : expression

Εκτελεί την έκφραση και επιστρέφει το αποτέλεσμα:

Παράδειγμα

Μια λάμπα function που προσθέτει 10 στο αριθμό που εισάγεται ως παράμετρο και τυπώνει το αποτέλεσμα:

x = λα : α + 10
print(x(5))

Εκτέλεση Παραδείγματος

Η συνάρτηση lambda μπορεί να αποδεχτεί οποιοδήποτε αριθμό παραμέτρων:

Παράδειγμα

Μια συνάρτηση lambda που πολλαπλασιάζει τους παραμέτρους a και b και εκτυπώνει το αποτέλεσμα:

x = lambda a, b : a * b
print(x(5, 6))

Εκτέλεση Παραδείγματος

Παράδειγμα

Μια συνάρτηση lambda που προσθέτει τους παραμέτρους a, b και c και εκτυπώνει το αποτέλεσμα:

x = lambda a, b, c : a + b + c
print(x(5, 6, 2))

Εκτέλεση Παραδείγματος

Γιατί να χρησιμοποιήσετε τη συνάρτηση Lambda;

Όταν χρησιμοποιείτε τη lambda ως ανώνυμη συνάρτηση εντός μιας άλλης συνάρτησης, αποκαλύπτεται καλύτερα η ισχύς της lambda.

Ας υποθέσουμε ότι έχετε μια ορισμό συνάρτησης με έναν παράμετρο που θα πολλαπλασιαστεί με έναν άγνωστο αριθμό:

def myfunc(n):
  επιστροφή lambda a : a * n

Χρησιμοποιήστε τον ορισμό της συνάρτησης για να δημιουργήσετε μια συνάρτηση που πάντα διπλασιάζει τον αριθμό που σας στείλετε:

Παράδειγμα

def myfunc(n):
  επιστροφή lambda a : a * n
mydoubler = myfunc(2)
print(mydoubler(11))

Εκτέλεση Παραδείγματος

ή, χρησιμοποιήστε τον ίδιο ορισμό της συνάρτησης για να δημιουργήσετε μια συνάρτηση που πάντα διπλασιάζει τον αριθμό που σας στείλετε:

Παράδειγμα

def myfunc(n):
  επιστροφή lambda a : a * n
mytripler = myfunc(3)
print(mytripler(11))

Εκτέλεση Παραδείγματος

ή, χρησιμοποιήστε την ίδια ορισμό της συνάρτησης για να δημιουργήσετε δύο συνάρτησεις στον ίδιο κώδικα:

Παράδειγμα

def myfunc(n):
  επιστροφή lambda a : a * n
mydoubler = myfunc(2)
mytripler = myfunc(3)
print(mydoubler(11)) 
print(mytripler(11))

Εκτέλεση Παραδείγματος

Αν χρειάζεστε ανώνυμη συνάρτηση σε σύντομο χρονικό διάστημα, χρησιμοποιήστε τη συνάρτηση lambda.