Hva er en funksjon i programmering?

Hva er en funksjon i programmering?

Finner du deg ofte kopiere og lime inn koden for å gjenbruke i forskjellige seksjoner i programmet?





I så fall bør du vurdere å bruke funksjoner. Funksjoner er en veldig kraftig funksjon i programmeringsspråk. De kan gjøre koden mer effektiv, lettere å lese og elegant.





Hva er en funksjon?

En funksjon er en blokk med kode som utfører en oppgave. Det kan kalles og brukes på nytt flere ganger. Du kan sende informasjon til en funksjon, og den kan sende informasjon tilbake. Mange programmeringsspråk har innebygde funksjoner som du kan få tilgang til i biblioteket, men du kan også lage dine egne funksjoner.





Når du ringer til en funksjon, stopper programmet det gjeldende programmet og kjører det. Funksjonen vil bli lest fra topp til bunn. Når funksjonen er fullført, fortsetter programmet å kjøre der det hadde stoppet midlertidig. Hvis funksjonen returnerte en verdi, vil den verdien bli brukt der funksjonen ble kalt.

Hvordan skriver du en funksjon?

Det er mange forskjellige måter å skrive funksjoner på. Den eksakte syntaksen vil avhenge av språket du programmerer på. Vi viser eksempler i Python, JavaScript og C ++ for å demonstrere en rekke programmeringssyntakser.



Relatert: Hvorfor programmeringsspråk ikke kan eksistere uten funksjoner

Ugyldige funksjoner

Den første funksjonstypen vi skal se på er en tomfunksjon. Dette betyr ganske enkelt at funksjonen ikke returnerer en verdi. Ugyldige funksjoner brukes til å fullføre et sett med instruksjoner. I disse eksemplene kalles funksjonen vi skrev heiFunksjon . Formålet med funksjonen er å sende ut 'Hello World'.





TIPS: gi funksjonsnavn som forklarer hva de gjør. Det blir lettere å administrere funksjoner og lese koden etter hvert som programmet blir mer komplekst.

Python





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

Stikkordet def brukes i Python for å definere og lage en funksjon. Deretter er navnet på funksjonen. Instruksjonene i funksjonen følger på neste linje etter kolon. Hvitrom er viktig i Python, så sørg for å innrykke all koden du vil at funksjonen skal kjøre. I eksemplet ovenfor kjører funksjonen én kode linje.

Dine skarpe øyne har kanskje lagt merke til det skrive ut() er også en funksjon, men den kalles annerledes enn vår funksjon. Hold på den tanken akkurat nå, vi vil utforske funksjoner vil parametere senere.

JavaScript

windows 10 fortsetter å miste wifi -tilkoblingen
function helloFunction(){
alert('Hello World!');
}
helloFunction();

I JavaScript, søkeordet funksjon brukes til å lage funksjoner. Deretter har vi navnet på funksjonen. Enhver kode som faller mellom de krøllete parentesene kjøres når funksjonen kalles.

Hvitrom er ikke viktig i JavaScript, men det er vanlig å innrykke koden i funksjonen. Innrykk gjør koden lettere å lese, noe som er veldig viktig ettersom programmene dine blir mer komplekse.

Merk: Mye som skrive ut() i det tidligere eksemplet, varsling() er også en funksjon.

C ++

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

Funksjoner opprettes annerledes i C ++. I stedet for et nøkkelord for å definere en funksjon, beskriver det første ordet typen data som funksjonen vil returnere. I dette tilfellet returnerer vår funksjon ingen data, så dataene er ugyldige. Deretter har vi funksjonens navn. I likhet med JavaScript kjøres all koden mellom de krøllete parentesene når funksjonen kalles. På samme måte som JavaScript påvirker ikke hvit plass funksjonen, men det er god praksis.

Fikk du øye på en annen funksjon i C ++ - koden? Ja, hoved() er en funksjon. Når du kjører et C ++ - program, ringer du automatisk til hovedfunksjonen. Når hovedfunksjonen er fullført, returnerer den 0 når den forlater programmet for å signalisere at det ikke var noen feil under kjøring av programmet.

Funksjoner som krever verdier

Ugyldige funksjoner er flotte hvis du finner ut at du skriver den samme koden igjen og igjen. Men de kan være begrensende. De er statiske og endres ikke. De fullfører alltid de samme instruksjonene. En måte vi kan øke nytten på er å overføre forskjellige verdier til funksjonen.

Du vil ha lagt merke til at parenteser fulgte navnene på alle funksjonene våre. I parentes kan vi erklære at data er nødvendig for å kjøre funksjonen vår. Deretter kan vi bruke dataene som overføres til funksjonen vår i funksjonen. La oss ta en titt på de tidligere eksemplene igjen, men denne gangen passerer setningen som vi ønsker å bli sendt ut.

Python

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

Nå, mellom parentesene, erklærer vår funksjon at den trenger en variabel for å kjøre. Vi har navngitt variabelen newPhrase og kan nå bruke den i vår funksjon. Når vi kaller funksjonen, må vi sende den forespurte informasjonen ved å plassere den mellom parentesene. De samme endringene ble gjort i JavaScript.

JavaScript

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

C ++

trådløs nettverkstilkobling har ikke en gyldig ip -konfigurasjon windows 7
#include
using namespace std;
void helloFunction(string newPhrase){
cout << newPhrase;
}
int main(){
helloFunction('Our new Phrase');
return 0;
}

Vår C ++ - funksjon krevde litt mer informasjon. Vi vet at funksjonen din ønsker strengdata, men det er ikke bra nok for C ++. Når du oppretter funksjonen din må du spesifisere hvilken type data funksjonen krever. Hvis du ikke sender riktig datatype, vil funksjonen opprette en feil.

Dette kan virke litt irriterende, men strenge språk kan ofte spare deg for hodepine. Hvis du skriver en funksjon i JavaScript som krever et heltall, men tallet sendes som en streng, kan det opprette en feil som er veldig vanskelig å spore.

Relatert: 5 funksjonelle programmeringsspråk du bør vite

Funksjoner som gir en verdi

Den siste funksjonsevnen vi vil dekke er å returnere data. Dette er spesielt verdifullt når du vil endre data før du bruker dem. Selv om du kan skrive det inline, kan det være mer fornuftig å skrive det som en funksjon hvis du vil bruke de samme beregningene mange ganger, som å konvertere imperial til metrisk. Vårt eksempel vil være enklere. Vår funksjon krever to heltall og returnerer summen.

Python

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

I dette eksemplet krever vår funksjon to variabler i stedet for en. Vi indikerer det ved å skille variabelnavnene våre med komma. Stikkordet komme tilbake forteller funksjonen å returnere følgende data, i dette tilfellet 2 + 4 eller 6. Vi kaller funksjonen inne i skrive ut() funksjon.

Når programmet vårt kom til den linjen, ville det ha stoppet, kjørt funksjonen vår og deretter fortsatt som om addedFunction (2, 4) var faktisk bare den returnerte verdien 6.

JavaScript

JavaScript -koden er veldig lik Python -koden. Den primære forskjellen er at funksjonen kalles i et varsel.

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 ++ - koden kjører på samme måte, men som vanlig krever den litt mer informasjon. Først må vi si hvilken type data vår funksjon vil returnere. Du vil se det tomrom er endret til int . Dette betyr at i stedet for å returnere ingen data, vil funksjonen vår returnere et helt tall. Utover det ligner koden på koden vi allerede har utforsket.

Administrer funksjonene dine

En morsom ting med funksjoner er at funksjoner kan kalle andre funksjoner. De kan til og med kalle seg selv! Men med stor makt følger stort ansvar. Ikke bli gal ved å lage kode med funksjoner som kaller andre funksjoner som kaller enda flere funksjoner.

Som nevnt, hver gang en funksjon kalles, stopper programmet mens det kjører funksjonen. Dette betyr at programmet lagres i aktivt minne. Hvis du ringer til flere funksjoner uten å fullføre dem, bruker du mer aktivt minne. Hvis du ikke er forsiktig, kan programmet gå ut av kontroll.

Dele Dele kvitring E -post Hvordan holde koden ren med objektinnkapsling

Globale variabler kan virke enkle, men de er ofte årsaken til så mange feil. Slik effektiviserer du koden med innkapsling.

Les neste
Relaterte temaer
  • Programmering
  • Programmering
  • Funksjonell programmering
Om forfatteren Jennifer Seaton(21 artikler publisert)

J. Seaton er en vitenskapsforfatter som spesialiserer seg på å bryte ned komplekse temaer. Hun har en doktorgrad fra University of Saskatchewan; forskningen hennes fokuserte på å utnytte spillbasert læring for å øke studentengasjementet online. Når hun ikke jobber, vil du finne henne mens hun leser, spiller videospill eller hagearbeid.

Mer fra Jennifer Seaton

Abonner på vårt nyhetsbrev

Bli med i vårt nyhetsbrev for tekniske tips, anmeldelser, gratis ebøker og eksklusive tilbud!

Klikk her for å abonnere