Što je funkcija u programiranju?

Što je funkcija u programiranju?

Često vam se čini da kopirate i lijepite svoj kôd za ponovnu uporabu u različite odjeljke programa?





Ako je tako, razmislite o upotrebi funkcija. Funkcije su vrlo moćna značajka programskih jezika. Oni mogu učiniti kod učinkovitijim, lakšim za čitanje i elegantnim.





Što je funkcija?

Funkcija je blok koda koji izvršava zadatak. Može se pozivati ​​i ponovno koristiti više puta. Možete proslijediti informacije nekoj funkciji i ona vam ih može poslati natrag. Mnogi programski jezici imaju ugrađene funkcije kojima možete pristupiti u njihovoj knjižnici, ali možete stvoriti i vlastite funkcije.





Kada pozovete funkciju, program će pauzirati trenutni program i izvršiti funkciju. Funkcija će se čitati odozgo prema dolje. Nakon što je funkcija dovršena, program nastavlja raditi na mjestu na kojem je pauziran. Ako je funkcija vratila vrijednost, ta će se vrijednost koristiti tamo gdje je funkcija pozvana.

Kako zapisujete funkciju?

Postoji mnogo različitih načina pisanja funkcija. Točna sintaksa ovisit će o jeziku na kojem programirate. Pokazat ćemo primjere u Pythonu, JavaScript -u i C ++ kako bismo pokazali niz programskih sintaksi.



Povezano: Zašto programski jezici ne mogu postojati bez funkcija

Funkcije praznine

Prva vrsta funkcije koju ćemo pogledati je funkcija void. To jednostavno znači da funkcija ne vraća vrijednost. Funkcije void se koriste za dovršavanje skupa uputa. U ovim primjerima zove se funkcija koju smo napisali helloFunction . Svrha funkcije je ispis 'Hello World'.





SAVJET: dajte imenima imena koja objašnjavaju što rade. Bit će lakše upravljati funkcijama i čitati kôd kako vaš program postaje složeniji.

Piton





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

Ključna riječ def koristi se u Pythonu za definiranje i stvaranje funkcije. Slijedi naziv funkcije. Upute u funkciji slijede u sljedećem retku nakon dvotočke. Bijeli prostor je važan u Pythonu, stoga svakako uvucite kôd za koji želite da vaša funkcija radi. U gornjem primjeru funkcija pokreće jedan redak koda.

To su vaše oštre oči mogle primijetiti ispis () je također funkcija, ali se naziva drugačije od naše funkcije. Držite se te misli sada, kasnije ćemo istražiti parametre funkcija.

JavaScript

zašto moja traka zadataka ne radi windows 10
function helloFunction(){
alert('Hello World!');
}
helloFunction();

U JavaScript ključna riječ funkcija koristi se za stvaranje funkcija. Zatim imamo naziv funkcije. Svaki kôd koji se nalazi između zavojitih zagrada izvodi se pri pozivanju funkcije.

Bijeli prostor nije važan u JavaScriptu, ali uobičajeno je uvući kôd u funkciju. Uvlačenje čini kod lakšim za čitanje, što je vrlo važno kako programi postaju složeniji.

Napomena: Slično ispis () u ranijem primjeru, upozorenje () je također funkcija.

C ++

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

Funkcije se različito stvaraju u C ++. Umjesto ključne riječi za definiranje funkcije, prva riječ opisuje vrstu podataka koje će funkcija vratiti. U ovom slučaju naša funkcija ne vraća nikakve podatke, pa su podaci ništavni. Zatim imamo naziv funkcije. Slično JavaScriptu, sav kôd između uvrnutih zagrada izvodi se pri pozivanju funkcije. Također, slično JavaScriptu, razmaci ne utječu na funkciju, ali su dobra praksa.

Jeste li uočili drugu funkciju u kodu C ++? Da, glavni() je funkcija. Kada izvršavate C ++ program, automatski pozivate glavnu funkciju. Kad je glavna funkcija uspješno dovršena, vraća 0 pri izlasku iz programa kako bi signalizirala da nije bilo grešaka u izvođenju programa.

Funkcije koje zahtijevaju vrijednosti

Funkcije void su izvrsne ako otkrijete da uvijek iznova pišete isti dio koda. Ali oni mogu biti ograničavajući. Statični su i ne mijenjaju se. Uvijek ispunjavaju iste upute. Jedan od načina na koji možemo povećati njihovu korisnost je prosljeđivanje različitih vrijednosti funkciji.

Primijetili ste da su zagrade slijedile nazive svih naših funkcija. U zagradama možemo izjaviti da su podaci potrebni za izvršavanje naše funkcije. Tada možemo koristiti podatke proslijeđene našoj funkciji u funkciji. Pogledajmo opet prethodne primjere, ali ovaj put prenesite izraz da želimo biti ispisani.

Piton

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

Sada, između zagrada, naša funkcija izjavljuje da joj je za pokretanje potrebna varijabla. Imenovali smo varijablu newPraza i sada ga možemo koristiti u svojoj funkciji. Kada zovemo funkciju, moramo proslijediti tražene podatke stavljajući ih između zagrada. Iste su promjene napravljene i u JavaScriptu.

JavaScript

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

C ++

kako dobiti osobni filter na snapchatu
#include
using namespace std;
void helloFunction(string newPhrase){
cout << newPhrase;
}
int main(){
helloFunction('Our new Phrase');
return 0;
}

Naša C ++ funkcija zahtijevala je malo više informacija. Znamo da vaša funkcija želi niz podataka, ali to nije dovoljno dobro za C ++. Prilikom stvaranja svoje funkcije morate navesti koju vrstu podataka vaša funkcija zahtijeva. Ako ne pošaljete ispravnu vrstu podataka, funkcija će stvoriti pogrešku.

Ovo bi moglo izgledati pomalo neugodno, ali strogi jezici često vam mogu spasiti glavobolju. Ako napišete funkciju u JavaScriptu koja zahtijeva cijeli broj, ali se broj šalje kao niz, može stvoriti grešku kojoj je vrlo teško ući u trag.

Povezano: 5 funkcionalnih programskih jezika koje trebate znati

Funkcije koje vraćaju vrijednost

Konačna sposobnost funkcije koju ćemo pokriti je vraćanje podataka. To je osobito vrijedno kada želite promijeniti podatke prije nego ih upotrijebite. Iako biste to mogli napisati inline, ako ćete više puta koristiti iste izračune, poput pretvaranja imperijalne u metričku, možda bi imalo više smisla zapisati je kao funkciju. Naš će primjer biti jednostavniji. Naša će funkcija zahtijevati dva cijela broja i vratit će zbroj.

Piton

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

U ovom primjeru naša funkcija zahtijeva dvije varijable umjesto jedne. To označavamo odvajanjem imena varijabli zarezom. Ključna riječ povratak govori funkciji da vrati sljedeće podatke, u ovom slučaju 2 + 4 ili 6. Funkciju nazivamo unutar datoteke ispis () funkcija.

Kad bi naš program došao do te linije, pauzirao bi, pokrenuo našu funkciju, a zatim nastavio kao da addFunction (2, 4) je zapravo bila samo vraćena vrijednost 6.

JavaScript

JavaScript kod je vrlo sličan Python kodu. Primarna razlika je u tome što se funkcija poziva u upozorenju.

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 ++ kôd radi slično, ali kao i obično, zahtijeva malo više informacija. Prvo moramo reći koju vrstu podataka će nam funkcija vratiti. Vidjet ćete to poništiti je promijenjen u int . To znači da će umjesto vraćanja podataka naša funkcija vratiti cijeli broj. Osim toga, kod je sličan kodu koji smo već istraživali.

Upravljajte svojim funkcijama

Zabavna stvar u vezi funkcija je što funkcije mogu pozivati ​​druge funkcije. Mogu se čak i sami nazvati! No s velikom moći dolazi i velika odgovornost. Nemojte poludjeti stvarajući kôd s funkcijama koje pozivaju druge funkcije koje pozivaju još funkcija.

Kao što je spomenuto, svaki put kada se funkcija pozove, program se zaustavlja dok izvodi funkciju. To znači da se program čuva u aktivnoj memoriji. Ako pozovete još nekoliko funkcija, a da ih niste dovršili, koristite aktivniju memoriju. Ako niste oprezni, vaš program može izmaći kontroli.

Udio Udio Cvrkut E -pošta Kako održavati čist kod pomoću enkapsulacije objekata

Globalne varijable mogu se činiti jednostavnima, ali često su uzrok toliko grešaka. Evo kako pojednostaviti svoj kod enkapsulacijom.

Pročitajte Dalje
Povezane teme
  • Programiranje
  • Programiranje
  • Funkcionalno programiranje
O autoru Jennifer Seaton(Objavljen 21 članak)

J. Seaton je znanstveni pisac specijaliziran za razbijanje složenih tema. Doktorirala je na Sveučilištu Saskatchewan; njezino se istraživanje usredotočilo na korištenje učenja zasnovanog na igrama za povećanje angažmana učenika na internetu. Kad ne radi, zateći ćete je kako čita, igra video igrice ili radi u vrtu.

Više od Jennifer Seaton

Pretplatite se na naše obavijesti

Pridružite se našem biltenu za tehničke savjete, recenzije, besplatne e -knjige i ekskluzivne ponude!

Kliknite ovdje za pretplatu