Wat is een functie in programmeren?

Wat is een functie in programmeren?

Merk je dat je vaak je code kopieert en plakt om ze opnieuw te gebruiken in verschillende secties van je programma?





Als dat het geval is, kunt u overwegen om functies te gebruiken. Functies zijn een zeer krachtige eigenschap van programmeertalen. Ze kunnen code efficiënter, gemakkelijker te lezen en eleganter maken.





Wat is een functie?

Een functie is een codeblok dat een taak uitvoert. Het kan meerdere keren worden aangeroepen en hergebruikt. U kunt informatie doorgeven aan een functie en deze kan informatie terugsturen. Veel programmeertalen hebben ingebouwde functies waartoe u toegang hebt in hun bibliotheek, maar u kunt ook uw eigen functies maken.





Wanneer u een functie aanroept, zal het programma het huidige programma pauzeren en de functie uitvoeren. De functie wordt van boven naar beneden gelezen. Zodra de functie is voltooid, gaat het programma verder waar het was gepauzeerd. Als de functie een waarde heeft geretourneerd, wordt die waarde gebruikt waar de functie werd aangeroepen.

Hoe schrijf je een functie?

Er zijn veel verschillende manieren om functies te schrijven. De exacte syntaxis hangt af van de taal waarin u programmeert. We laten voorbeelden zien in Python, JavaScript en C++ om een ​​reeks programmeersyntaxis te demonstreren.



Gerelateerd: Waarom programmeertalen niet kunnen bestaan ​​zonder functies

Nietige functies

Het eerste type functie waar we naar zullen kijken, is een void-functie. Dit betekent simpelweg dat de functie geen waarde retourneert. Void-functies worden gebruikt om een ​​reeks instructies te voltooien. In deze voorbeelden heet de functie die we schreven helloFunction . Het doel van de functie is om 'Hello World' uit te voeren.





TIP: geef functienamen die uitleggen wat ze doen. Het zal gemakkelijker zijn om functies te beheren en de code te lezen naarmate uw programma complexer wordt.

Python





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

het sleutelwoord zeker wordt in Python gebruikt om een ​​functie te definiëren en te maken. Vervolgens is de naam van de functie. De instructies in de functie volgen op de volgende regel na de dubbele punt. Witruimte is van belang in Python, dus zorg ervoor dat u alle code laat inspringen die u wilt dat uw functie uitvoert. In het bovenstaande voorbeeld voert de functie één regel code uit.

Je scherpe ogen hebben dat misschien opgemerkt afdrukken() is ook een functie, maar het wordt anders genoemd dan onze functie. Houd nu vast aan die gedachte, we zullen later functies en parameters onderzoeken.

JavaScript

hoe meld ik me aan bij Playstation Network
function helloFunction(){
alert('Hello World!');
}
helloFunction();

In JavaScript is het trefwoord functie wordt gebruikt om functies te creëren. Vervolgens hebben we de naam van de functie. Elke code die tussen de accolades valt, wordt uitgevoerd wanneer de functie wordt aangeroepen.

Witruimte is niet belangrijk in JavaScript, maar het is gebruikelijk om de code in de functie te laten inspringen. Inspringen maakt code gemakkelijker leesbaar, wat erg belangrijk is naarmate uw programma's complexer worden.

Opmerking: heel graag afdrukken() in het eerdere voorbeeld, waarschuwing() is ook een functie.

C ++

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

Functies worden in C++ anders gemaakt. In plaats van een trefwoord om een ​​functie te definiëren, beschrijft het eerste woord het type gegevens dat de functie zal retourneren. In dit geval retourneert onze functie geen gegevens, dus de gegevens zijn ongeldig. Vervolgens hebben we de naam van de functie. Net als bij JavaScript wordt alle code tussen de accolades uitgevoerd wanneer de functie wordt aangeroepen. Net als bij JavaScript heeft witruimte geen invloed op de functie, maar het is een goede gewoonte.

Heb je een andere functie in de C++-code gezien? Ja, hoofd() is een functie. Wanneer u een C++-programma uitvoert, roept u automatisch de hoofdfunctie aan. Wanneer de hoofdfunctie met succes is voltooid, retourneert het 0 als het het programma verlaat om aan te geven dat er geen fouten waren bij het uitvoeren van het programma.

Functies die waarden vereisen

Void-functies zijn geweldig als je merkt dat je steeds opnieuw hetzelfde stukje code schrijft. Maar ze kunnen beperkend zijn. Ze zijn statisch en veranderen niet. Ze voeren altijd dezelfde instructies uit. Een manier om hun bruikbaarheid te vergroten, is door verschillende waarden aan de functie door te geven.

Het zal u zijn opgevallen dat haakjes de namen van al onze functies volgden. Tussen haakjes kunnen we aangeven dat gegevens nodig zijn om onze functie uit te voeren. Dan kunnen we de gegevens gebruiken die zijn doorgegeven aan onze functie in de functie. Laten we nog eens naar de vorige voorbeelden kijken, maar deze keer geven we de frase door die we willen laten uitvoeren.

Python

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

Nu, tussen de haakjes, verklaart onze functie dat er een variabele nodig is om te worden uitgevoerd. We hebben de variabele genoemd nieuwe zin en kan het nu in onze functie gebruiken. Wanneer we de functie aanroepen, moeten we de gevraagde informatie doorgeven door deze tussen haakjes te plaatsen. Dezelfde wijzigingen zijn aangebracht in JavaScript.

JavaScript

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

C ++

? wat betekent deze emoji
#include
using namespace std;
void helloFunction(string newPhrase){
cout << newPhrase;
}
int main(){
helloFunction('Our new Phrase');
return 0;
}

Onze C++-functie had wat meer informatie nodig. We weten dat uw functie stringgegevens wil, maar dat is niet goed genoeg voor C++. Wanneer u uw functie aanmaakt, moet u specificeren welk type gegevens uw functie vereist. Als u niet het juiste type gegevens verzendt, zal de functie een fout maken.

Dit lijkt misschien een beetje vervelend, maar strikte talen kunnen u vaak hoofdpijn besparen. Als u een functie in JavaScript schrijft waarvoor een geheel getal nodig is, maar het nummer wordt verzonden als een tekenreeks, kan dit een fout veroorzaken die heel moeilijk op te sporen is.

Gerelateerd: 5 functionele programmeertalen die u moet kennen

Functies die een waarde retourneren

De laatste functiemogelijkheid die we zullen behandelen, is het retourneren van gegevens. Dit is met name waardevol als u gegevens wilt wijzigen voordat u ze gebruikt. Hoewel je dat inline zou kunnen schrijven, is het misschien logischer om het als een functie te schrijven als je dezelfde berekeningen vaak gebruikt, zoals het converteren van imperial naar metrisch. Ons voorbeeld zal eenvoudiger zijn. Onze functie vereist twee gehele getallen en geeft de som terug.

Python

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

In dit voorbeeld vereist onze functie twee variabelen in plaats van één. Dat geven we aan door onze variabelenamen te scheiden met een komma. het sleutelwoord opbrengst vertelt de functie om de volgende gegevens terug te geven, in dit geval 2 + 4, of 6. We noemen de functie binnen de afdrukken() functie.

Zodra ons programma bij die regel kwam, zou het zijn gepauzeerd, onze functie hebben uitgevoerd en vervolgens zijn doorgegaan alsof functie toevoegen(2, 4) was eigenlijk gewoon de geretourneerde waarde 6.

JavaScript

De JavaScript-code lijkt erg op de Python-code. Het belangrijkste verschil is dat de functie wordt aangeroepen in een waarschuwing.

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;
}

De C++-code werkt op dezelfde manier, maar vereist zoals gewoonlijk wat meer informatie. Eerst moeten we zeggen welk type gegevens onze functie zal retourneren. Je zult zien dat leegte is veranderd in int . Dit betekent dat in plaats van geen gegevens te retourneren, onze functie een geheel getal retourneert. Verder is de code vergelijkbaar met de code die we al hebben onderzocht.

Beheer uw functies

Het leuke van functies is dat functies andere functies kunnen aanroepen. Ze kunnen zelfs zichzelf bellen! Maar met grote macht komt grote verantwoordelijkheid. Doe niet gek door code te maken met functies die andere functies aanroepen die nog meer functies aanroepen.

Zoals gezegd, elke keer dat een functie wordt aangeroepen, pauzeert het programma terwijl het de functie uitvoert. Dit betekent dat het programma in het actieve geheugen wordt vastgehouden. Als u meerdere functies oproept zonder ze te voltooien, gebruikt u meer actief geheugen. Als je niet oppast, kan je programma uit de hand lopen.

Deel Deel Tweeten E-mail Hoe u uw code schoon kunt houden met objectinkapseling

Globale variabelen lijken misschien eenvoudig, maar ze zijn vaak de oorzaak van zoveel bugs. Hier leest u hoe u uw code kunt stroomlijnen met inkapseling.

Lees volgende
Gerelateerde onderwerpen
  • Programmeren
  • Programmeren
  • Functioneel programmeren
Over de auteur Jennifer Seaton(21 artikelen gepubliceerd)

J. Seaton is een wetenschapsschrijver die gespecialiseerd is in het opsplitsen van complexe onderwerpen. Ze is gepromoveerd aan de Universiteit van Saskatchewan; haar onderzoek was gericht op het gebruik van game-based learning om de online betrokkenheid van studenten te vergroten. Als ze niet aan het werk is, vind je haar terwijl ze leest, videospelletjes speelt of tuiniert.

Meer van Jennifer Seaton

Abonneer op onze nieuwsbrief

Word lid van onze nieuwsbrief voor technische tips, recensies, gratis e-boeken en exclusieve deals!

Klik hier om je te abonneren