συνάρτησης, όταν αυτή καλείται. Ως εκ τούτου, οι παράμετροι
περνούν με τη κλήση της συνάρτησης με βάση την αξία (των
οποίων η αξία είναι πάντα μια αναφορά στη συνάρτηση). [1]
Όταν μια συνάρτηση καλεί μία άλλη συνάρτηση, ένας νέος
τοπικός πίνακας συμβόλων δημιουργείται για την εν λόγω
συνάρτηση.
Ένας ορισμός συνάρτησης εισάγει το όνομα της
συνάρτησης στον τρέχοντα πίνακα συμβόλων. Η αξία του
ονόματος της συνάρτησης έχει ένα τύπο που αναγνωρίζεται από
τον διερμηνέα ως συνάρτηση οριζόμενη από το χρήστη. Αυτή η
τιμή μπορεί να εκχωρηθεί σε ένα άλλο όνομα το οποίο μπορεί
στη συνέχεια να χρησιμοποιηθεί επίσης ως συνάρτηση. Αυτό
εξυπηρετεί ως ένας γενικός μηχανισμός μετονομασίας:
>>>
fib
<function fib at 10042ed0>
>>>
f
=
fib
>>>
f(
100
)
0 1 1 2 3 5 8 13 21 34 55 89
>>>
fib(
0
)
>>>
(fib(
0
))
None
Γνωρίζοντας άλλες γλώσσες, μπορεί να αντιτάξετε ότι το
fib δεν αποτελεί συνάρτηση, αλλά μια διαδικασία, δεδομένου
ότι δεν επιστρέφει μια τιμή. Στην πραγματικότητα, ακόμη και
συναρτήσεις χωρίς δήλωση επιστροφής επιστρέφουν μια τιμή, αν
και μάλλον βαρετή. Η τιμή αυτή ονομάζεται None. Γράφοντας
την τιμή None συνήθως καταστέλλεται από τον διερμηνέα, αν
αυτό θα είναι η μόνη τιμή που γράφεται. Μπορείτε να το
δείτε, αν θέλετε πραγματικά να χρησιμοποιούν print ():
>>>
fib(
0
)
>>>
(fib(
0
))
None
Είναι απλό να γράψετε μια συνάρτηση που να επιστρέφει
μια λίστα με τους αριθμούς της σειράς Fibonacci, αντί να
τους εκτυπώνει:
- A Mini greek notebook for Learning Python Programming
22