Τι είναι μια λειτουργία στον προγραμματισμό;

Τι είναι μια λειτουργία στον προγραμματισμό;

Βρίσκεστε συχνά αντιγράφοντας και επικολλώντας τον κώδικά σας για επαναχρησιμοποίηση σε διαφορετικές ενότητες του προγράμματος σας;





Αν ναι, ίσως θελήσετε να εξετάσετε τη χρήση συναρτήσεων. Οι λειτουργίες είναι ένα πολύ ισχυρό χαρακτηριστικό των γλωσσών προγραμματισμού. Μπορούν να κάνουν τον κώδικα πιο αποτελεσματικό, ευανάγνωστο και κομψό.





Τι είναι μια λειτουργία;

Μια συνάρτηση είναι ένα μπλοκ κώδικα που εκτελεί μια εργασία. Μπορεί να κληθεί και να επαναχρησιμοποιηθεί πολλές φορές. Μπορείτε να διαβιβάσετε πληροφορίες σε μια συνάρτηση και να στείλει πληροφορίες πίσω. Πολλές γλώσσες προγραμματισμού έχουν ενσωματωμένες λειτουργίες στις οποίες μπορείτε να έχετε πρόσβαση στη βιβλιοθήκη τους, αλλά μπορείτε επίσης να δημιουργήσετε τις δικές σας λειτουργίες.





Όταν καλείτε μια συνάρτηση, το πρόγραμμα θέτει σε παύση το τρέχον πρόγραμμα και εκτελεί τη συνάρτηση. Η λειτουργία θα διαβαστεί από πάνω προς τα κάτω. Μόλις ολοκληρωθεί η λειτουργία, Το πρόγραμμα συνεχίζει να εκτελείται εκεί που είχε σταματήσει. Εάν η συνάρτηση επέστρεψε μια τιμή, αυτή η τιμή θα χρησιμοποιηθεί εκεί που κλήθηκε η συνάρτηση.

Πώς γράφετε μια συνάρτηση;

Υπάρχουν πολλοί διαφορετικοί τρόποι γραφής συναρτήσεων. Η ακριβής σύνταξη θα εξαρτηθεί από τη γλώσσα στην οποία προγραμματίζετε. Θα δείξουμε παραδείγματα σε Python, JavaScript και C ++ για να επιδείξουμε ένα εύρος σύνταξης προγραμματισμού.



Σχετικά: Γιατί οι γλώσσες προγραμματισμού δεν μπορούν να υπάρξουν χωρίς λειτουργίες

Κενές συναρτήσεις

Ο πρώτος τύπος συνάρτησης που θα δούμε είναι μια συνάρτηση κενού. Αυτό σημαίνει απλώς ότι η συνάρτηση δεν επιστρέφει μια τιμή. Οι κενές λειτουργίες χρησιμοποιούνται για την ολοκλήρωση ενός συνόλου οδηγιών. Σε αυτά τα παραδείγματα, καλείται η συνάρτηση που γράψαμε helloFunction Το Ο σκοπός της συνάρτησης είναι η έξοδος 'Hello World'.





ΣΥΜΒΟΥΛΗ: δώστε ονόματα συναρτήσεων που εξηγούν τι κάνουν. Θα είναι ευκολότερο να διαχειριστείτε λειτουργίες και να διαβάσετε τον κώδικα καθώς το πρόγραμμά σας γίνεται πιο περίπλοκο.

Πύθων





def helloFunction():
print('Hello World')
helloFunction()

Τη λέξη -κλειδί def χρησιμοποιείται στην Python για τον καθορισμό και τη δημιουργία μιας συνάρτησης. Στη συνέχεια, είναι το όνομα της συνάρτησης. Οι οδηγίες στη συνάρτηση ακολουθούν στην επόμενη γραμμή μετά το παχύ έντερο. Ο λευκός χώρος έχει σημασία στην Python, οπότε φροντίστε να βάλετε εσοχή σε όλο τον κώδικα που θέλετε να εκτελεστεί η λειτουργία σας. Στο παραπάνω παράδειγμα, η συνάρτηση εκτελεί μία γραμμή κώδικα.

Τα έντονα μάτια σας ίσως το έχουν προσέξει αυτό Τυπώνω() είναι επίσης μια συνάρτηση, αλλά ονομάζεται διαφορετικά από τη συνάρτηση μας. Κρατήστε αυτήν τη σκέψη τώρα, θα διερευνήσουμε τις παραμέτρους των συναρτήσεων αργότερα.

JavaScript

πώς να διαγράψετε την επαγγελματική σελίδα του facebook
function helloFunction(){
alert('Hello World!');
}
helloFunction();

Στο JavaScript, τη λέξη -κλειδί λειτουργία χρησιμοποιείται για τη δημιουργία συναρτήσεων. Στη συνέχεια, έχουμε το όνομα της συνάρτησης. Οποιοσδήποτε κώδικας πέφτει μεταξύ των σγουρών παρενθέσεων εκτελείται όταν καλείται η συνάρτηση.

Ο λευκός χώρος δεν είναι σημαντικός στο JavaScript, αλλά είναι συνηθισμένο να εσοχή του κώδικα στη συνάρτηση. Η εσοχή κάνει τον κώδικα ευκολότερο να διαβάσει, κάτι που είναι πολύ σημαντικό καθώς τα προγράμματά σας γίνονται πιο περίπλοκα.

Σημείωση: Μοιάζει πολύ Τυπώνω() στο προηγούμενο παράδειγμα, συναγερμός() είναι επίσης μια συνάρτηση.

C ++

#include
using namespace std;
void helloFunction(){
cout << 'Hello World!';
}
int main(){
helloFunction();
return 0;
}

Οι λειτουργίες δημιουργούνται διαφορετικά στο C ++. Αντί για μια λέξη -κλειδί για τον ορισμό μιας συνάρτησης, η πρώτη λέξη περιγράφει τον τύπο δεδομένων που θα επιστρέψει η συνάρτηση. Σε αυτήν την περίπτωση, η συνάρτηση μας δεν επιστρέφει δεδομένα, οπότε τα δεδομένα είναι άκυρα. Στη συνέχεια, έχουμε το όνομα της συνάρτησης. Παρόμοια με το JavaScript, όλος ο κώδικας μεταξύ των σφηνωμένων παρενθέσεων εκτελείται όταν καλείται η συνάρτηση. Επίσης, παρόμοια με την JavaScript, ο λευκός χώρος δεν επηρεάζει τη λειτουργία αλλά είναι καλή πρακτική.

Εντοπίσατε κάποια άλλη λειτουργία στον κώδικα C ++; Ναί, κύριος() είναι μια συνάρτηση. Όταν εκτελείτε ένα πρόγραμμα C ++, καλείτε αυτόματα την κύρια συνάρτηση. Όταν ολοκληρωθεί επιτυχώς η κύρια συνάρτηση, επιστρέφει το 0 καθώς βγαίνει από το πρόγραμμα για να σηματοδοτήσει ότι δεν υπήρχαν σφάλματα κατά την εκτέλεση του προγράμματος.

Λειτουργίες που απαιτούν τιμές

Οι άκυρες συναρτήσεις είναι εξαιρετικές αν διαπιστώσετε ότι γράφετε το ίδιο κομμάτι κώδικα ξανά και ξανά. Μπορούν όμως να είναι περιοριστικά. Είναι στατικά και δεν αλλάζουν. Συμπληρώνουν πάντα τις ίδιες οδηγίες. Ένας τρόπος για να αυξήσουμε τη χρησιμότητά τους είναι να περάσουμε διαφορετικές τιμές στη συνάρτηση.

Θα έχετε παρατηρήσει ότι οι αγκύλες ακολουθούσαν τα ονόματα όλων των λειτουργιών μας. Στις αγκύλες, μπορούμε να δηλώσουμε ότι χρειάζονται δεδομένα για την εκτέλεση της λειτουργίας μας. Στη συνέχεια, μπορούμε να χρησιμοποιήσουμε τα δεδομένα που διαβιβάστηκαν στη συνάρτηση μας στη συνάρτηση. Ας ρίξουμε μια ματιά στα προηγούμενα παραδείγματα ξανά, αλλά αυτή τη φορά περάστε τη φράση που θέλουμε να εξαχθεί.

Πύθων

def helloFunction(newPhrase):
print(newPhrase)
helloFunction('Our new phrase')

Τώρα, μεταξύ των παρενθέσεων, η συνάρτηση μας δηλώνει ότι χρειάζεται μια μεταβλητή για να τρέξει. Ονομάσαμε τη μεταβλητή newPhrase και τώρα μπορούμε να το χρησιμοποιήσουμε στη λειτουργία μας. Όταν καλούμε τη συνάρτηση, πρέπει να περάσουμε τις ζητούμενες πληροφορίες τοποθετώντας τις ανάμεσα στις αγκύλες. Οι ίδιες αλλαγές έγιναν και στο JavaScript.

JavaScript

function helloFunction(newPhrase){
alert(newPhrase);
}
helloFunction('Our new phrase');

C ++

μετατρέψτε 72 dpi σε 300 dpi
#include
using namespace std;
void helloFunction(string newPhrase){
cout << newPhrase;
}
int main(){
helloFunction('Our new Phrase');
return 0;
}

Η λειτουργία μας C ++ απαιτούσε λίγες περισσότερες πληροφορίες. Γνωρίζουμε ότι η συνάρτηση σας θέλει δεδομένα συμβολοσειράς, αλλά αυτό δεν είναι αρκετά καλό για C ++. Όταν δημιουργείτε τη συνάρτηση σας, πρέπει να καθορίσετε τι είδους δεδομένα απαιτεί η λειτουργία σας. Εάν δεν στείλετε τον σωστό τύπο δεδομένων, η συνάρτηση θα δημιουργήσει σφάλμα.

Αυτό μπορεί να φαίνεται λίγο ενοχλητικό, αλλά οι αυστηρές γλώσσες μπορούν συχνά να σας γλιτώσουν από πονοκεφάλους. Εάν γράφετε μια συνάρτηση σε JavaScript που απαιτεί έναν ακέραιο αριθμό, αλλά ο αριθμός αποστέλλεται ως συμβολοσειρά, μπορεί να δημιουργήσει ένα σφάλμα που είναι πολύ δύσκολο να εντοπιστεί.

Σχετικά: 5 λειτουργικές γλώσσες προγραμματισμού που πρέπει να γνωρίζετε

Λειτουργίες που επιστρέφουν μια τιμή

Η τελική δυνατότητα λειτουργίας που θα καλύψουμε είναι η επιστροφή δεδομένων. Αυτό είναι ιδιαίτερα πολύτιμο όταν θέλετε να αλλάξετε δεδομένα πριν τα χρησιμοποιήσετε. Παρόλο που θα μπορούσατε να γράψετε αυτό το inline, εάν χρησιμοποιείτε τους ίδιους υπολογισμούς πολλές φορές, όπως τη μετατροπή του αυτοκρατορικού σε μετρικό, ίσως είναι πιο λογικό να το γράψετε ως συνάρτηση. Το παράδειγμά μας θα είναι πιο απλό. Η συνάρτηση μας θα απαιτήσει δύο ακέραιους αριθμούς και θα επιστρέψει το άθροισμα.

Πύθων

def addingFunction(a, b):
return a + b
print(addingFunction(2, 4))

Σε αυτό το παράδειγμα, η συνάρτηση μας απαιτεί δύο μεταβλητές αντί για μία. Το υποδεικνύουμε διαχωρίζοντας τα ονόματα των μεταβλητών μας με κόμμα. Τη λέξη -κλειδί ΕΠΙΣΤΡΟΦΗ λέει στη συνάρτηση να επιστρέψει τα ακόλουθα δεδομένα, σε αυτήν την περίπτωση, 2 + 4, ή 6. Καλούμε τη συνάρτηση μέσα στο Τυπώνω() λειτουργία.

Μόλις το πρόγραμμά μας έφτασε σε αυτήν τη γραμμή, θα είχε σταματήσει, θα εκτελούσε τη λειτουργία μας και στη συνέχεια θα συνέχιζε σαν να ήταν addFunction (2, 4) ήταν στην πραγματικότητα μόνο η επιστρεφόμενη τιμή 6.

JavaScript

Ο κώδικας JavaScript είναι πολύ παρόμοιος με τον κώδικα Python. Η κύρια διαφορά είναι ότι η συνάρτηση καλείται σε ειδοποίηση.

function addingFunction(a, b){
return a + b;
}
alert(addingFunction(2, 4));

C ++

#include
using namespace std;
int addingFunction(int a, int b){
return a + b;
}
int main(){
cout << addingFunction(2, 4) ;
return 0;
}

Ο κώδικας C ++ εκτελείται παρόμοια, αλλά ως συνήθως, απαιτεί λίγες περισσότερες πληροφορίες. Πρώτον, πρέπει να πούμε τι είδους δεδομένα θα επιστρέψει η λειτουργία μας. Θα το δεις κενός έχει αλλάξει σε int Το Αυτό σημαίνει ότι αντί να επιστρέψει κανένα στοιχείο, η συνάρτηση μας θα επιστρέψει έναν ακέραιο. Από κει και πέρα, ο κώδικας είναι παρόμοιος με τον κώδικα που έχουμε ήδη διερευνήσει.

Διαχειριστείτε τις λειτουργίες σας

Ένα διασκεδαστικό πράγμα για τις συναρτήσεις είναι ότι οι συναρτήσεις μπορούν να καλέσουν άλλες συναρτήσεις. Μπορούν ακόμη και να αυτοαποκαλούνται! Αλλά με μεγάλη δύναμη έρχεται και μεγάλη ευθύνη. Μην τρελαίνεστε δημιουργώντας κώδικα με λειτουργίες που καλούν άλλες λειτουργίες που καλούν ακόμη περισσότερες λειτουργίες.

Όπως αναφέρθηκε, κάθε φορά που καλείται μια συνάρτηση, το πρόγραμμα σταματάει ενώ εκτελεί τη συνάρτηση. Αυτό σημαίνει ότι το πρόγραμμα διατηρείται σε ενεργή μνήμη. Εάν καλέσετε πολλές άλλες λειτουργίες χωρίς να τις ολοκληρώσετε, χρησιμοποιείτε πιο ενεργή μνήμη. Εάν δεν είστε προσεκτικοί, το πρόγραμμά σας μπορεί να ξεφύγει από τον έλεγχο.

Μερίδιο Μερίδιο Τιτίβισμα ΗΛΕΚΤΡΟΝΙΚΗ ΔΙΕΥΘΥΝΣΗ Πώς να διατηρήσετε τον κώδικα σας καθαρό με την ενθυλάκωση αντικειμένων

Οι παγκόσμιες μεταβλητές μπορεί να φαίνονται απλές, αλλά συχνά είναι η αιτία τόσων πολλών σφαλμάτων. Δείτε πώς μπορείτε να απλοποιήσετε τον κώδικά σας με την ενθυλάκωση.

Διαβάστε Επόμενο
Σχετικά θέματα
  • Προγραμματισμός
  • Προγραμματισμός
  • Λειτουργικός Προγραμματισμός
Σχετικά με τον Συγγραφέα Τζένιφερ Σίτον(Δημοσιεύθηκαν 21 άρθρα)

Ο J. Seaton είναι Επιστημονικός Συγγραφέας που ειδικεύεται στην ανάλυση σύνθετων θεμάτων. Έχει διδακτορικό από το Πανεπιστήμιο του Saskatchewan. η έρευνά της επικεντρώθηκε στη χρήση της μάθησης με βάση τα παιχνίδια για την αύξηση της συμμετοχής των μαθητών στο διαδίκτυο. Όταν δεν εργάζεται, θα τη βρείτε να διαβάζει, να παίζει βιντεοπαιχνίδια ή να ασχολείται με την κηπουρική.

Περισσότερα από την Jennifer Seaton

Εγγραφείτε στο newsletter μας

Εγγραφείτε στο ενημερωτικό μας δελτίο για τεχνικές συμβουλές, κριτικές, δωρεάν ebooks και αποκλειστικές προσφορές!

Κάντε κλικ εδώ για εγγραφή