Αρχεσ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Η/Υ ΤΑξη Β΄ Αρχεσ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Η/Υ ΤΑξη Β΄ 4.2 Συναρτήσεις
Η έννοια των συναρτήσεων αποτελεί ένα από τα πιο σημαντικά δομικά στοιχεία ενός προγράμματος σε όλες τις γλώσσες προγραμματισμού. Οι συναρτήσεις μπορεί να είναι είτε έτοιμες από τη γλώσσα προγραμματισμού π.χ. int() , float() , pow() , range() είτε να δημιουργούνται από εμάς
Συναρτήσεις Οι συναρτήσεις είναι επαναχρησιμοποιήσιμα μέρη προγραμμάτων Μας επιτρέπουν να δίνουμε ένα όνομα σε ένα σύνολο εντολών και να το εκτελούμε καλώντας το όνομά τους, οπουδήποτε στο πρόγραμμα και όσες φορές θέλουμε Αυτή η διαδικασία ονομάζεται κλήση (calling) της συνάρτησης
Συναρτήσεις πρέπει να οριστεί πρώτα πριν χρησιμοποιηθεί (κληθεί) ορίζονται στην αρχή των προγραμμάτων κατά την κλήση μιας συνάρτησης εκτελούνται οι εντολές που περιέχονται στο σώμα της μπορούμε να καλούμε μία συνάρτηση όσες φορές απαιτούνται για τη λύση του προβλήματος που αντιμετωπίζει το πρόγραμμά μας κάτι τέτοιο είναι πολύ συνηθισμένο και χρήσιμο
Σύνταξη Συναρτήσεων ορίζονται χρησιμοποιώντας τη χαρακτηριστική λέξη def (από το define που σημαίνει ορίζω) ακολουθεί ένα όνομα που ταυτοποιεί την κάθε συνάρτηση τα ονόματα των συναρτήσεων δίνονται με βάση τους κανόνες που ισχύουν για τα ονόματα των μεταβλητών καλό είναι να δίνουμε ονόματα σχετικά με τη λειτουργία που επιτελούν οι συναρτήσεις
Σύνταξη Συναρτήσεων μετά προσθέτουμε ένα ζευγάρι παρενθέσεων που μπορούν να περικλείουν μερικά ονόματα μεταβλητών η γραμμή τελειώνει με άνω κάτω τελεία :
Σύνταξη Συναρτήσεων Οι εσοχές στην αρχή των εντολών είναι πολύ σημαντικές στην Python Ο κενός χώρος πριν από μια εντολή και γενικότερα η στοίχιση των εντολών δεν είναι μόνο θέμα αισθητικής όπως σε άλλες γλώσσες αλλά θέμα ουσίας που μπορεί να αλλάξει το αποτέλεσμα του προγράμματος
Σύνταξη Συναρτήσεων Δεν υπάρχει ειδική εντολή που να υποδηλώνει το τέλος του μπλοκ εντολών της συνάρτησης, όπως και των δομών ελέγχου (επιλογή-επανάληψη) Όλα εξαρτώνται από τη στοίχιση των εντολών Πρέπει να είμαστε ιδιαίτερα προσεκτικοί με τη στοίχιση των εντολών και την εσοχή πριν από κάθε εντολή, ώστε να εξασφαλίσουμε πως ανήκει στο σωστό μπλοκ
Γράψτε την παρακάτω συνάρτηση και κάνετε κλήση αυτής def msg(): print 'hello'
Γράψτε την παρακάτω συνάρτηση και κάνετε κλήση αυτής με χρήση παραμέτρου def msg(name): print 'hello ' , name Παράδειγμα κλήσης: msg ( ‘ Mary ’ )
Παράμετροι Μια συνάρτηση μπορεί να δεχθεί μία ή περισσότερες παραμέτρους Οι παράμετροι καθορίζονται μέσα στο ζευγάρι των παρενθέσεων στον ορισμό της συνάρτησης και διαχωρίζονται με κόμμα Όταν καλούμε τη συνάρτηση δίνουμε και τις τιμές με τον ίδιο τρόπο
Παράμετροι χρησιμοποιούνται για να δίνουμε διάφορες τιμές στη συνάρτηση, έτσι ώστε αυτή να παράγει κάποιο αποτέλεσμα ή να εκτελεί κάποιες ενέργειες χρησιμοποιώντας τις τιμές αυτές Αυτές οι παράμετροι μοιάζουν με τις μεταβλητές, διαφέροντας ως προς το ότι οι τιμές αυτών των μεταβλητών ορίζονται όταν καλούμε τη συνάρτηση και τους έχουν ήδη εκχωρηθεί τιμές όταν τρέχει η συνάρτηση
Παράμετροι οι ονομασίες που δίνουμε στον ορισμό της συνάρτησης ονομάζονται παράμετροι οι τιμές που δίνουμε όταν καλούμε τη συνάρτηση ονομάζονται ορίσματα ΠΑΡΑΜΕΤΡΟΣ ΟΡΙΣΜΑ
Παράμετροι Η μεταβίβαση παραμέτρων στην Python είναι κατά τιμή (call-by-value), δηλαδή δημιουργούνται αντίγραφα των ορισμάτων, οποιαδήποτε αλλαγή στις παραμέτρους εντός της συνάρτησης δεν έχει καμία επίδραση στα ορίσματα-μεταβλητές που έχουν οριστεί εκτός της συνάρτησης
Προσθέστε τις κατάλληλες εντολές στην παρακάτω συνάρτηση ώστε το μήνυμα να εμφανίζεται 3 φορές def msg(name): print 'hello ' , name
Προσθέστε τις κατάλληλες εντολές στην παρακάτω συνάρτηση ώστε το μήνυμα να εμφανίζεται 3 φορές def msg(name): for i in range(3): print 'hello ' , name
Κάντε τις απαραίτητες αλλαγές στην παρακάτω συνάρτηση έτσι ώστε το πόσες φορές θα εμφανιστεί το μήνυμα να δίνεται ως παράμετρος def msg ( name ) : for i in range ( 3 ) : print ' hello ' , name
Κάντε τις απαραίτητες αλλαγές στην παρακάτω συνάρτηση έτσι ώστε το πόσες φορές θα εμφανιστεί το μήνυμα να δίνεται ως παράμετρος def msg ( name , x ) : for i in range ( x ) : print ' hello ' , name
def greet ( lang ) : if lang == ' es ' : print ' Hola ' elif lang == ' fr ' : print ' Bonjour ' else: print ' Hello '
Επιστροφή τιμών def addtwo ( a , b ) : added = a + b return added x = addtwo ( 3 , 5 ) print x
Αρθρώματα (Modules) είναι μία συλλογή σχετιζόμενων συναρτήσεων ένα άρθρωμα αποθηκεύεται σε ένα αρχείο με κατάληξη .py η Python διαθέτει πάρα πολλά ενσωματωμένα αρθρώματα μπορούμε να γράψουμε και τα δικά μας αρθρώματα, απλά αποθηκεύοντας τις σχετιζόμενες συναρτήσεις μας σε ένα αρχείο με κατάληξη .py
Αρθρώματα (Modules) για να χρησιμοποιήσουμε ένα άρθρωμα σε ένα πρόγραμμα, θα πρέπει να το εισαγάγουμε με χρήση της εντολής import ένα πάρα πολύ χρήσιμο παράδειγμα αρθρώματος είναι το math που περιέχει μαθηματικές συναρτήσεις αφού το εισαγάγουμε με την εντολή import math, μπορούμε να δούμε τις συναρτήσεις που περιέχει με την εντολή help(math)
Αρθρώματα (Modules) Με την ενσωματωμένη συνάρτηση dir μπορούμε να δούμε όλα τα ονόματα που περιέχονται σε ένα άρθρωμα, για παράδειγμα: