Hvad er en funktion i programmering?

Hvad er en funktion i programmering?

Finder du ofte dig selv at kopiere og indsætte din kode til genbrug i forskellige sektioner i dit program?





I så fald vil du måske overveje at bruge funktioner. Funktioner er en meget kraftfuld funktion i programmeringssprog. De kan gøre koden mere effektiv, lettere at læse og elegant.





Hvad er en funktion?

En funktion er en kodeblok, der udfører en opgave. Det kan kaldes og genbruges flere gange. Du kan videregive oplysninger til en funktion, og den kan sende oplysninger tilbage. Mange programmeringssprog har indbyggede funktioner, som du kan få adgang til i deres bibliotek, men du kan også oprette dine egne funktioner.





Når du kalder en funktion, stopper programmet det aktuelle program og kører funktionen. Funktionen læses fra top til bund. Når funktionen er fuldført, fortsætter programmet med at køre, hvor det havde sat en pause. Hvis funktionen returnerede en værdi, bruges den værdi, hvor funktionen blev kaldt.

Hvordan skriver du en funktion?

Der er mange forskellige måder at skrive funktioner på. Den nøjagtige syntaks afhænger af det sprog, du programmerer i. Vi viser eksempler i Python, JavaScript og C ++ for at demonstrere en række programmeringssyntaxer.



Relateret: Hvorfor programmeringssprog ikke kan eksistere uden funktioner

Ugyldige funktioner

Den første funktionstype, som vi vil se på, er en tomrumsfunktion. Dette betyder ganske enkelt, at funktionen ikke returnerer en værdi. Ugyldige funktioner bruges til at fuldføre et sæt instruktioner. I disse eksempler kaldes den funktion, vi skrev, hejFunktion . Formålet med funktionen er at udsende 'Hello World'.





TIP: Giv funktioner navne, der forklarer, hvad de gør. Det bliver lettere at administrere funktioner og læse koden, efterhånden som dit program bliver mere komplekst.

Python





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

Nøgleordet def bruges i Python til at definere og oprette en funktion. Dernæst er navnet på funktionen. Instruktionerne i funktionen følger på den næste linje efter tyktarmen. Hvidt mellemrum er vigtigt i Python, så sørg for at indrykke al den kode, du vil have din funktion til at køre. I eksemplet ovenfor kører funktionen en kodelinje.

Det kunne dine skarpe øjne have bemærket Print() er også en funktion, men den kaldes anderledes end vores funktion. Hold fast ved den tanke lige nu, vi vil udforske funktioner vil parametre senere.

JavaScript

ingen internet sikret fix windows 10
function helloFunction(){
alert('Hello World!');
}
helloFunction();

I JavaScript, søgeordet fungere bruges til at oprette funktioner. Dernæst har vi navnet på funktionen. Enhver kode, der falder mellem de krøllede parenteser, køres, når funktionen kaldes.

Hvidt mellemrum er ikke vigtigt i JavaScript, men det er sædvanligt at indrykke koden i funktionen. Indrykning gør koden lettere at læse, hvilket er meget vigtigt, da dine programmer bliver mere komplekse.

Bemærk: Meget gerne Print() i det tidligere eksempel, alert() er også en funktion.

C ++

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

Funktioner skabes forskelligt i C ++. I stedet for et nøgleord til at definere en funktion beskriver det første ord typen af ​​data, som funktionen vil returnere. I dette tilfælde returnerer vores funktion ingen data, så dataene er ugyldige. Dernæst har vi funktionens navn. Ligesom JavaScript køres al koden mellem de krøllede parenteser, når funktionen kaldes. På samme måde som JavaScript påvirker hvidt mellemrum ikke funktionen, men det er god praksis.

Fandt du en anden funktion i C ++ - koden? Ja, main () er en funktion. Når du udfører et C ++ - program, ringer du automatisk til hovedfunktionen. Når hovedfunktionen er fuldført, returnerer den 0, da den forlader programmet for at signalere, at der ikke var fejl under kørsel af programmet.

Funktioner, der kræver værdier

Ugyldige funktioner er gode, hvis du opdager, at du skriver den samme kode kode igen og igen. Men de kan være begrænsende. De er statiske og ændrer sig ikke. De udfylder altid de samme instruktioner. En måde vi kan øge deres anvendelighed på er at videregive forskellige værdier til funktionen.

Du vil have bemærket, at parenteser fulgte navnene på alle vores funktioner. I parentes kan vi erklære, at data er nødvendige for at køre vores funktion. Derefter kan vi bruge de data, der overføres til vores funktion i funktionen. Lad os tage et kig på de tidligere eksempler igen, men denne gang passerer den sætning, som vi ønsker at blive udsendt.

Python

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

Nu mellem parenteserne erklærer vores funktion, at den har brug for en variabel for at køre. Vi har navngivet variablen newPhrase og kan nu bruge det i vores funktion. Når vi kalder funktionen, skal vi videregive de ønskede oplysninger ved at placere dem mellem parenteserne. De samme ændringer blev foretaget i JavaScript.

JavaScript

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

C ++

hvordan man kører gamle pc -spil på windows 10
#include
using namespace std;
void helloFunction(string newPhrase){
cout << newPhrase;
}
int main(){
helloFunction('Our new Phrase');
return 0;
}

Vores C ++ - funktion krævede lidt mere information. Vi ved, at din funktion ønsker stringdata, men det er ikke godt nok til C ++. Når du opretter din funktion, skal du angive, hvilken type data din funktion kræver. Hvis du ikke sender den korrekte datatype, opretter funktionen en fejl.

Dette kan virke lidt irriterende, men strenge sprog kan ofte spare dig for hovedpine. Hvis du skriver en funktion i JavaScript, der kræver et helt tal, men tallet sendes som en streng, kan det oprette en fejl, der er meget svær at spore.

Relateret: 5 funktionelle programmeringssprog, du bør kende

Funktioner, der returnerer en værdi

Den sidste funktionsevne, vi vil dække, er returnering af data. Dette er især værdifuldt, når du vil ændre data, før du bruger dem. Selvom du kunne skrive det inline, kan det være mere fornuftigt at skrive det som en funktion, hvis du vil bruge de samme beregninger mange gange, som at konvertere imperial til metrisk. Vores eksempel vil være enklere. Vores funktion kræver to heltal og returnerer summen.

Python

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

I dette eksempel kræver vores funktion to variabler i stedet for en. Vi angiver det ved at adskille vores variabelnavne med et komma. Nøgleordet Vend tilbage fortæller funktionen at returnere følgende data, i dette tilfælde 2 + 4 eller 6. Vi kalder funktionen inde i Print() fungere.

Når vores program nåede den linje, ville det have holdt pause, kørt vores funktion og derefter fortsat som om tilføjelse af funktion (2, 4) var faktisk bare den returnerede værdi 6.

JavaScript

JavaScript -koden ligner meget Python -koden. Den primære forskel er, at funktionen kaldes i en advarsel.

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 kører på samme måde, men kræver som sædvanlig lidt mere information. Først skal vi sige, hvilken type data vores funktion returnerer. Det vil du se ugyldig er blevet ændret til int . Det betyder, at i stedet for at returnere ingen data, returnerer vores funktion et helt tal. Udover det ligner koden den kode, vi allerede har undersøgt.

Administrer dine funktioner

En sjov ting ved funktioner er, at funktioner kan kalde andre funktioner. De kan endda kalde sig selv! Men med stor magt følger stort ansvar. Gå ikke amok med at oprette kode med funktioner, der kalder andre funktioner, der kalder endnu flere funktioner.

Som nævnt stopper programmet hver gang en funktion kaldes, mens den kører funktionen. Det betyder, at programmet opbevares i aktiv hukommelse. Hvis du kalder flere funktioner uden at fuldføre dem, bruger du mere aktiv hukommelse. Hvis du ikke er forsigtig, kan dit program gå ud af hånden.

Del Del Tweet E -mail Sådan holder du din kode ren med objektindkapsling

Globale variabler kan virke enkle, men de er ofte årsagen til så mange fejl. Sådan kan du strømline din kode med indkapsling.

Læs Næste
Relaterede emner
  • Programmering
  • Programmering
  • Funktionel programmering
Om forfatteren Jennifer Seaton(21 artikler udgivet)

J. Seaton er en Science Writer, der har specialiseret sig i at nedbryde komplekse emner. Hun har en ph.d. fra University of Saskatchewan; hendes forskning fokuserede på at udnytte spilbaseret læring til at øge elevernes engagement online. Når hun ikke arbejder, finder du hende med sin læsning, videospil eller havearbejde.

Mere fra Jennifer Seaton

Abonner på vores nyhedsbrev

Tilmeld dig vores nyhedsbrev for at få tekniske tips, anmeldelser, gratis e -bøger og eksklusive tilbud!

Klik her for at abonnere