Vad är en funktion i programmering?

Vad är en funktion i programmering?

Tycker du ofta att du kopierar och klistrar in din kod för att återanvända i olika avsnitt i ditt program?





I så fall kan du överväga att använda funktioner. Funktioner är en mycket kraftfull funktion i programmeringsspråk. De kan göra koden mer effektiv, lättare att läsa och elegant.





Vad är en funktion?

En funktion är ett kodblock som utför en uppgift. Det kan kallas och återanvändas flera gånger. Du kan skicka information till en funktion och den kan skicka tillbaka information. Många programmeringsspråk har inbyggda funktioner som du kan komma åt i deras bibliotek, men du kan också skapa dina egna funktioner.





När du ringer en funktion, kommer programmet att pausa det aktuella programmet och köra funktionen. Funktionen kommer att läsas uppifrån och ner. När funktionen är klar fortsätter programmet att köra där det hade pausats. Om funktionen returnerade ett värde kommer det värdet att användas där funktionen kallades.

Hur skriver du en funktion?

Det finns många olika sätt att skriva funktioner. Den exakta syntaxen beror på vilket språk du programmerar på. Vi visar exempel i Python, JavaScript och C ++ för att visa en rad olika programmeringssyntaxer.



Relaterat: Varför programmeringsspråk inte kan existera utan funktioner

Ogiltiga funktioner

Den första typen av funktioner som vi kommer att titta på är en ogiltig funktion. Detta betyder helt enkelt att funktionen inte returnerar ett värde. Ogiltiga funktioner används för att slutföra en uppsättning instruktioner. I dessa exempel kallas funktionen vi skrev hejFunktion . Syftet med funktionen är att mata ut 'Hej världen'.





TIPS: ge funktioner namn som förklarar vad de gör. Det blir lättare att hantera funktioner och läsa koden när ditt program blir mer komplext.

Pytonorm





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

Nyckelordet def används i Python för att definiera och skapa en funktion. Därefter är namnet på funktionen. Instruktionerna i funktionen följer på nästa rad efter kolon. Vitt utrymme är viktigt i Python, så var noga med att dra in all kod som du vill att din funktion ska köra. I exemplet ovan kör funktionen en kodrad.

Dina skarpa ögon kanske har märkt det skriva ut() är också en funktion, men den kallas annorlunda än vår funktion. Håll fast vid den tanken just nu, vi kommer att utforska funktioner och parametrar senare.

JavaScript

hur man överför google docs till ett annat konto
function helloFunction(){
alert('Hello World!');
}
helloFunction();

I JavaScript, nyckelordet fungera används för att skapa funktioner. Därefter har vi namnet på funktionen. Varje kod som faller mellan de lockiga parenteserna körs när funktionen anropas.

Vitt utrymme är inte viktigt i JavaScript, men det är vanligt att inrycka koden i funktionen. Inryck gör koden lättare att läsa, vilket är mycket viktigt eftersom dina program blir mer komplexa.

Obs: Ungefär som skriva ut() i det tidigare exemplet, varna() är också en funktion.

C ++

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

Funktioner skapas annorlunda i C ++. I stället för ett nyckelord för att definiera en funktion beskriver det första ordet typen av data som funktionen ska returnera. I det här fallet returnerar vår funktion inga data, så data är ogiltiga. Därefter har vi funktionens namn. I likhet med JavaScript körs all kod mellan de lockiga parenteserna när funktionen anropas. På samma sätt som JavaScript påverkar inte vitt utrymme funktionen men är god praxis.

Har du upptäckt en annan funktion i C ++ - koden? Ja, main () är en funktion. När du kör ett C ++ - program ringer du automatiskt till huvudfunktionen. När huvudfunktionen har slutförts, returnerar den 0 när den lämnar programmet för att signalera att det inte fanns några fel när programmet kördes.

Funktioner som kräver värden

Ogiltiga funktioner är bra om du upptäcker att du skriver samma kod kod om och om igen. Men de kan vara begränsande. De är statiska och ändras inte. De fyller alltid i samma instruktioner. Ett sätt vi kan öka deras användbarhet är att överföra olika värden till funktionen.

Du kommer att ha märkt att parenteser följde namnen på alla våra funktioner. I parentes kan vi förklara att data behövs för att köra vår funktion. Sedan kan vi använda data som överförs till vår funktion i funktionen. Låt oss ta en titt på de föregående exemplen igen, men den här gången passerar frasen att vi vill bli utskrivna.

Pytonorm

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

Nu, mellan parenteserna, förklarar vår funktion att den behöver en variabel för att köra. Vi har döpt variabeln newPhrase och kan nu använda den i vår funktion. När vi kallar funktionen måste vi skicka den begärda informationen genom att placera den mellan parenteserna. Samma ändringar gjordes i JavaScript.

JavaScript

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

C ++

andra världskriget filmer på netflix
#include
using namespace std;
void helloFunction(string newPhrase){
cout << newPhrase;
}
int main(){
helloFunction('Our new Phrase');
return 0;
}

Vår C ++ - funktion krävde lite mer information. Vi vet att din funktion vill ha strängdata, men det är inte tillräckligt bra för C ++. När du skapar din funktion måste du ange vilken typ av data din funktion kräver. Om du inte skickar rätt datatyp kommer funktionen att skapa ett fel.

Detta kan verka lite irriterande, men strikta språk kan ofta spara dig huvudvärk. Om du skriver en funktion i JavaScript som kräver ett heltal, men numret skickas som en sträng, kan det skapa en bugg som är mycket svår att spåra.

Relaterat: 5 funktionella programmeringsspråk du bör känna till

Funktioner som ger tillbaka ett värde

Den slutliga funktionsförmågan som vi kommer att täcka är att returnera data. Detta är särskilt värdefullt när du vill ändra data innan du använder den. Även om du kan skriva den inline, om du kommer att använda samma beräkningar många gånger, som att konvertera imperial till metrisk, kan det vara mer meningsfullt att skriva det som en funktion. Vårt exempel blir enklare. Vår funktion kräver två heltal och returnerar summan.

Pytonorm

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

I det här exemplet kräver vår funktion två variabler istället för en. Vi anger det genom att skilja våra variabelnamn med ett komma. Nyckelordet lämna tillbaka säger åt funktionen att returnera följande data, i det här fallet 2 + 4 eller 6. Vi kallar funktionen inuti skriva ut() fungera.

När vårt program väl kommit till den raden skulle det ha pausat, kört vår funktion och sedan fortsatt som om adderingsfunktion (2, 4) var faktiskt bara det returnerade värdet 6.

JavaScript

JavaScript -koden är mycket lik Python -koden. Den primära skillnaden är att funktionen kallas i en varning.

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örs på samma sätt, men kräver som vanligt lite mer information. Först måste vi säga vilken typ av data vår funktion kommer att returnera. Du kommer att se det tomhet har ändrats till int . Det betyder att vår funktion i stället för att returnera inga data returnerar ett heltal. Utöver det liknar koden den kod som vi redan har utforskat.

Hantera dina funktioner

En kul grej med funktioner är att funktioner kan kalla andra funktioner. De kan till och med kalla sig själva! Men med stor makt kommer ett stort ansvar. Bli inte galen när du skapar kod med funktioner som kallar andra funktioner som kräver ännu fler funktioner.

Som nämnts, pausar programmet varje gång en funktion anropas medan den kör funktionen. Det betyder att programmet hålls i aktivt minne. Om du ringer flera fler funktioner utan att slutföra dem använder du mer aktivt minne. Om du inte är försiktig kan ditt program gå ur hand.

Dela med sig Dela med sig Tweet E-post Hur du håller din kod ren med objektinkapsling

Globala variabler kan verka enkla, men de är ofta orsaken till så många buggar. Så här effektiviserar du din kod med inkapsling.

Läs Nästa
Relaterade ämnen
  • Programmering
  • Programmering
  • Funktionell programmering
Om författaren Jennifer Seaton(21 artiklar publicerade)

J. Seaton är en Science Writer som specialiserat sig på att bryta ner komplexa ämnen. Hon har en doktorsexamen från University of Saskatchewan; hennes forskning fokuserade på att använda spelbaserat lärande för att öka studentens engagemang online. När hon inte arbetar hittar du henne med sin läsning, spelande tv -spel eller trädgårdsarbete.

Mer från Jennifer Seaton

Prenumerera på vårt nyhetsbrev

Gå med i vårt nyhetsbrev för tekniska tips, recensioner, gratis e -böcker och exklusiva erbjudanden!

Klicka här för att prenumerera