background image

>>> 

def

 

parrot

(voltage, state

=

'a stiff'

, action

=

'voom'

):

... 

    

print

(

"-- This parrot wouldn't"

, action, end

=

' '

)

... 

    

print

(

"if you put"

, voltage, 

"volts through it."

end

=

' '

)

... 

    

print

(

"E's"

, state, 

"!"

)

...
>>> 

=

 {

"voltage"

"four million"

"state"

"bleedin' 

demised"

"action"

"VOOM"

}

>>> 

parrot(

**

d)

-- This parrot wouldn't VOOM if you put four million volts 
through it. E's bleedin' demised !

Μικρές   ανώνυμες   συναρτήσεις   μπορούν   να   δημιουργηθούν 

με   τη  λέξη-κλειδιά  lambda.  Η   συνάρτηση  αυτή   επιστρέφει  το 
άθροισμα   από   δύο   ορίσματα   :  lambda  a,  b:  a  +  b.   Οι 
συναρτήσεις  lambda μπορεί να χρησιμοποιηθούν οπουδήποτε και 
αν   βρίσκονται   τα   αντικείμενα   των   συναρτήσεων   που 
απαιτούνται.   Συντακτικά   περιορίζεται   σε   μία   μόνο   έκφραση. 
Σημασιολογικά, είναι μόνο συντακτική για ένα κανονικό ορισμό 
της   συνάρτησης.   Όπως   ένθετη   ορισμούς   συναρτήσεων, 
συναρτήσεις   λάμδα   μπορεί   να   παραπέμπει   μεταβλητές   από   το 
πεδίο που περιέχει:

>>> 

def

 

make_incrementor

(n):

... 

    

return

 

lambda

 x: x 

+

 n

...
>>> 

=

 make_incrementor(

42

)

>>> 

f(

0

)

42

>>> 

f(

1

)

43

Το παραπάνω παράδειγμα χρησιμοποιεί μια έκφραση λάμδα 

για   να   επιστρέψει   μια   συνάρτηση.   Μια   άλλη   χρήση   είναι   να 
περάσει ένα μικρή συνάρτηση ως παράμετρο:

>>> 

pairs 

=

 [(

1

'one'

), (

2

'two'

), (

3

'three'

), (

4

'four'

)]

>>> 

pairs

.

sort(key

=

lambda

 pair: pair[

1

])

>>> 

pairs

http://arch.icte.uowm.gr

 - A Mini greek notebook for Learning Python Programming 

30