Ce este o funcție în programare?

Ce este o funcție în programare?

Te găsești adesea copiind și lipind codul pentru a-l reutiliza în diferite secțiuni din programul tău?





Dacă da, vă recomandăm să utilizați funcții. Funcțiile sunt o caracteristică foarte puternică a limbajelor de programare. Acestea pot face codul mai eficient, mai ușor de citit și mai elegant.





Ce este o funcție?

O funcție este un bloc de cod care efectuează o sarcină. Poate fi apelat și refolosit de mai multe ori. Puteți transmite informații către o funcție și aceasta poate trimite informații înapoi. Multe limbaje de programare au funcții încorporate pe care le puteți accesa în biblioteca lor, dar vă puteți crea și propriile funcții.





Când apelați o funcție, programul va întrerupe programul curent și va executa funcția. Funcția va fi citită de sus în jos. Odată ce funcția este completă, programul continuă să ruleze acolo unde a fost întrerupt. Dacă funcția a returnat o valoare, acea valoare va fi utilizată acolo unde a fost apelată funcția.

Cum scrieți o funcție?

Există multe modalități diferite de a scrie funcții. Sintaxa exactă va depinde de limbajul în care programați. Vom arăta exemple în Python, JavaScript și C ++ pentru a demonstra o gamă de sintaxă de programare.



În legătură cu: De ce limbajele de programare nu pot exista fără funcții

Funcții de vid

Primul tip de funcție pe care îl vom analiza este o funcție nulă. Acest lucru înseamnă pur și simplu că funcția nu returnează o valoare. Funcțiile de vid sunt utilizate pentru a completa un set de instrucțiuni. În aceste exemple, funcția pe care am scris-o se numește salutFuncție . Scopul funcției este de a produce „Hello World”.





SFAT: dați funcțiilor nume care explică ce fac. Va fi mai ușor să gestionați funcțiile și să citiți codul pe măsură ce programul dvs. devine mai complex.

Piton





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

Cuvântul cheie def este folosit în Python pentru a defini și a crea o funcție. În continuare, este numele funcției. Instrucțiunile din funcție urmează pe următoarea linie după colon. Spațiul alb contează în Python, deci asigurați-vă că introduceți tot codul pe care doriți să îl ruleze funcția dvs. În exemplul de mai sus, funcția rulează o linie de cod.

Ochii tăi dornici ar fi putut observa asta imprimare() este, de asemenea, o funcție, dar este numită diferit față de funcția noastră. Țineți-vă la acel gând chiar acum, vom explora funcțiile și parametrii mai târziu.

JavaScript

cod de oprire informație de configurare a sistemului greșită
function helloFunction(){
alert('Hello World!');
}
helloFunction();

În JavaScript, cuvântul cheie funcţie este folosit pentru a crea funcții. Apoi, avem numele funcției. Orice cod care se încadrează între parantezele crețate este rulat atunci când funcția este apelată.

Spațiul alb nu este important în JavaScript, dar este obișnuit să introduceți codul în funcție. Indentarea face codul mai ușor de citit, ceea ce este foarte important pe măsură ce programele dvs. devin mai complexe.

Notă: La fel imprimare() în exemplul anterior, alerta() este, de asemenea, o funcție.

C ++

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

Funcțiile sunt create diferit în C ++. În loc de un cuvânt cheie pentru a defini o funcție, primul cuvânt descrie tipul de date pe care funcția le va returna. În acest caz, funcția noastră nu returnează date, astfel încât datele sunt nule. Apoi, avem numele funcției. Similar cu JavaScript, tot codul dintre parantezele buclate este rulat atunci când funcția este apelată. De asemenea, similar cu JavaScript, spațiul alb nu afectează funcția, dar este o bună practică.

Ai identificat o altă funcție în codul C ++? Da, principal() este o funcție. Când executați un program C ++, apelați automat funcția principală. Când funcția principală este finalizată cu succes, returnează 0 deoarece iese din program pentru a semnaliza că nu au existat erori care rulează programul.

Funcții care necesită valori

Funcțiile de vid sunt grozave dacă descoperiți că scrieți același bit de cod din nou și din nou. Dar ele pot fi limitative. Sunt statice și nu se schimbă. Urmează întotdeauna aceleași instrucțiuni. O modalitate prin care le putem crește utilitatea este de a transmite diferite valori funcției.

Veți observa că parantezele au urmat numele tuturor funcțiilor noastre. În paranteze, putem declara că sunt necesare date pentru a ne rula funcția. Apoi putem folosi datele transmise funcției noastre în funcție. Să aruncăm o privire la exemplele anterioare din nou, dar de data aceasta treceți expresia pe care vrem să o scoatem la iveală.

Piton

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

Acum, între paranteze, funcția noastră declară că are nevoie de o variabilă pentru a rula. Am numit variabila newPhrase și o putem folosi acum în funcția noastră. Când apelăm funcția, trebuie să transmitem informațiile solicitate plasându-le între paranteze. Aceleași modificări au fost făcute în JavaScript.

JavaScript

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

C ++

cum să intrați în modul sigur Android
#include
using namespace std;
void helloFunction(string newPhrase){
cout << newPhrase;
}
int main(){
helloFunction('Our new Phrase');
return 0;
}

Funcția noastră C ++ a necesitat ceva mai multe informații. Știm că funcția dvs. dorește șiruri de date, dar acest lucru nu este suficient de bun pentru C ++. Când vă creați funcția, trebuie să specificați ce tip de date necesită funcția dvs. Dacă nu trimiteți tipul corect de date, funcția va crea o eroare.

Acest lucru ar putea părea puțin enervant, dar limbajele stricte vă pot salva de multe ori dureri de cap. Dacă scrieți o funcție în JavaScript care necesită un număr întreg, dar numărul este trimis ca șir, se poate crea o eroare care este foarte greu de urmărit.

Corelat: 5 limbaje funcționale de programare pe care ar trebui să le cunoașteți

Funcții care returnează o valoare

Abilitatea finală a funcției pe care o vom acoperi este returnarea datelor. Acest lucru este deosebit de valoros atunci când doriți să modificați datele înainte de a le utiliza. Deși ați putea scrie acea linie, dacă veți folosi aceleași calcule de multe ori, cum ar fi conversia imperială în metrică, ar putea avea mai mult sens să o scrieți ca o funcție. Exemplul nostru va fi mai simplu. Funcția noastră va necesita două numere întregi și va returna suma.

Piton

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

În acest exemplu, funcția noastră necesită două variabile în loc de una. Indicăm acest lucru separând numele variabilelor noastre cu o virgulă. Cuvântul cheie întoarcere spune funcției să returneze următoarele date, în acest caz, 2 + 4 sau 6. Numim funcția în interiorul imprimare() funcţie.

Odată ce programul nostru a ajuns la acea linie, s-ar fi întrerupt, ne-ar fi rulat funcția și apoi va continua ca și cum addFunction (2, 4) a fost de fapt doar valoarea returnată 6.

JavaScript

Codul JavaScript este foarte similar cu codul Python. Diferența principală este că funcția este apelată într-o alertă.

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

Codul C ++ rulează în mod similar, dar, ca de obicei, necesită ceva mai multe informații. În primul rând, trebuie să spunem ce tip de date va reveni funcția noastră. Vei vedea asta nul a fost schimbat în int . Aceasta înseamnă că, în loc să nu returnăm date, funcția noastră va returna un număr întreg. Dincolo de asta, codul este similar cu cel pe care l-am explorat deja.

Gestionați-vă funcțiile

Un lucru distractiv despre funcții este că funcțiile pot apela alte funcții. Se pot chiar numi singuri! Dar cu o mare putere vine o mare responsabilitate. Nu înnebuni creând cod cu funcții care apelează alte funcții care apelează încă mai multe funcții.

După cum sa menționat, de fiecare dată când este apelată o funcție, programul se întrerupe în timp ce rulează funcția. Aceasta înseamnă că programul este ținut în memoria activă. Dacă mai apelați mai multe funcții fără a le finaliza, utilizați mai multă memorie activă. Dacă nu sunteți atent, programul dvs. poate scăpa de sub control.

Acțiune Acțiune Tweet E-mail Cum să vă păstrați codul curat cu încapsularea obiectelor

Variabilele globale pot părea simple, dar ele sunt adesea cauza a atât de multe erori. Iată cum să vă simplificați codul cu încapsulare.

Citiți în continuare
Subiecte asemănătoare
  • Programare
  • Programare
  • Programare funcțională
Despre autor Jennifer Seaton(21 articole publicate)

J. Seaton este un scriitor științific specializat în descompunerea subiectelor complexe. Are un doctorat la Universitatea din Saskatchewan; cercetările sale s-au concentrat pe utilizarea învățării bazate pe jocuri pentru a spori implicarea elevilor online. Când nu lucrează, o veți găsi cu ea citind, jucând jocuri video sau grădinărit.

Mai multe de la Jennifer Seaton

Aboneaza-te la newsletter-ul nostru

Alăturați-vă newsletter-ului pentru sfaturi tehnice, recenzii, cărți electronice gratuite și oferte exclusive!

Faceți clic aici pentru a vă abona