Kaj je funkcija pri programiranju?

Kaj je funkcija pri programiranju?

Ali se pogosto znajdete, da kodo kopirate in prilepite za ponovno uporabo v različne razdelke programa?





V tem primeru razmislite o uporabi funkcij. Funkcije so zelo močna lastnost programskih jezikov. Kodo lahko naredijo učinkovitejšo, lažje berljivo in elegantno.





Kaj je funkcija?

Funkcija je blok kode, ki opravlja nalogo. Lahko ga pokličete in uporabite večkrat. Podatke lahko posredujete funkciji in ta jih lahko pošlje nazaj. Mnogi programski jeziki imajo vgrajene funkcije, do katerih lahko dostopate v njihovi knjižnici, lahko pa ustvarite tudi svoje.





Ko pokličete funkcijo, bo program začasno ustavil trenutni program in izvedel funkcijo. Funkcija se bere od zgoraj navzdol. Ko je funkcija dokončana, se program nadaljuje izvajati tam, kjer je bil zaustavljen. Če je funkcija vrnila vrednost, bo ta vrednost uporabljena pri klicu funkcije.

Kako napišete funkcijo?

Obstaja veliko različnih načinov pisanja funkcij. Natančna skladnja bo odvisna od jezika, v katerem programirate. Prikazali bomo primere v Pythonu, JavaScript in C ++, ki bodo prikazali vrsto programske sintakse.



Povezano: Zakaj programski jeziki ne morejo obstajati brez funkcij

Funkcije praznine

Prva vrsta funkcije, ki jo bomo pogledali, je funkcija void. To preprosto pomeni, da funkcija ne vrne vrednosti. Funkcije void se uporabljajo za dokončanje nabora navodil. V teh primerih se kliče funkcija, ki smo jo zapisali helloFunction . Namen funkcije je prikazati 'Hello World'.





NAMIG: poimenujte funkcije, ki pojasnjujejo, kaj počnejo. Ko bo vaš program bolj zapleten, bo lažje upravljati funkcije in brati kodo.

Python





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

Ključna beseda def se uporablja v Pythonu za definiranje in ustvarjanje funkcije. Nato je ime funkcije. Navodila v funkciji sledijo v naslednji vrstici za dvopičjem. Beli prostor je pomemben v Pythonu, zato zavijte vso kodo, ki jo želite zagnati. V zgornjem primeru funkcija izvaja eno vrstico kode.

Morda so to opazile vaše ostre oči print () je tudi funkcija, vendar se imenuje drugače kot naša funkcija. Držite se te misli, pozneje bomo raziskali parametre funkcij in volj.

JavaScript

kako izbrisati vodoravno črto v Wordu
function helloFunction(){
alert('Hello World!');
}
helloFunction();

V JavaScript ključna beseda funkcijo se uporablja za ustvarjanje funkcij. Nato imamo ime funkcije. Vsaka koda, ki pade med ukrivljene oklepaje, se zažene, ko se pokliče funkcija.

Presledki v JavaScript niso pomembni, vendar je običajno, da se koda zamakne v funkciji. Vdolbina olajša branje kode, kar je zelo pomembno, ko vaši programi postajajo vse bolj zapleteni.

Opomba: Podobno print () v prejšnjem primeru, opozorilo () je tudi funkcija.

C ++

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

Funkcije se v C ++ ustvarjajo drugače. Namesto ključne besede za opredelitev funkcije prva beseda opisuje vrsto podatkov, ki jih bo funkcija vrnila. V tem primeru naša funkcija ne vrne nobenih podatkov, zato so podatki nični. Nato imamo ime funkcije. Podobno kot JavaScript se vsa koda med ukrivljenimi oklepaji zažene ob klicu funkcije. Podobno kot JavaScript prazen prostor ne vpliva na funkcijo, je pa dobra praksa.

Ste v kodi C ++ opazili drugo funkcijo? Da, main () je funkcija. Ko zaženete program C ++, samodejno pokličete glavno funkcijo. Ko je glavna funkcija uspešno dokončana, vrne 0, ko izstopi iz programa in signalizira, da pri izvajanju programa ni bilo napak.

Funkcije, ki zahtevajo vrednosti

Funkcije praznine so odlične, če ugotovite, da vedno znova pišete isti del kode. Lahko pa omejujejo. So statični in se ne spreminjajo. Vedno izpolnjujejo ista navodila. Eden od načinov, kako lahko povečamo njihovo uporabnost, je, da funkciji posredujemo različne vrednosti.

Opazili boste, da so oklepaji sledili imenom vseh naših funkcij. V oklepajih lahko izjavimo, da so za izvajanje naše funkcije potrebni podatki. Nato lahko v funkciji uporabimo podatke, posredovane naši funkciji. Poglejmo si še enkrat prejšnje primere, a tokrat podajmo izraz, ki ga želimo prikazati.

Python

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

Zdaj med oklepaji naša funkcija izjavlja, da za izvedbo potrebuje spremenljivko. Poimenovali smo spremenljivko newPraza in ga zdaj lahko uporabljamo v svoji funkciji. Ko pokličemo funkcijo, moramo zahtevane podatke posredovati tako, da jih postavimo med oklepaje. Enake spremembe so bile narejene v JavaScript.

JavaScript

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

C ++

kako formatirati drugi trdi disk
#include
using namespace std;
void helloFunction(string newPhrase){
cout << newPhrase;
}
int main(){
helloFunction('Our new Phrase');
return 0;
}

Naša funkcija C ++ je zahtevala nekaj več informacij. Vemo, da vaša funkcija želi niz podatkov, vendar to ni dovolj dobro za C ++. Ko ustvarite svojo funkcijo, morate določiti, kakšne vrste podatkov vaša funkcija potrebuje. Če ne pošljete pravilne vrste podatkov, bo funkcija ustvarila napako.

To se morda zdi malo nadležno, vendar vam strogi jeziki pogosto prihranijo glavobol. Če v JavaScript napišete funkcijo, ki zahteva celo število, vendar je številka poslana kot niz, lahko ustvari hrošča, ki ga je zelo težko izslediti.

Sorodno: 5 funkcionalnih programskih jezikov, ki jih morate poznati

Funkcije, ki vračajo vrednost

Končna funkcija, ki jo bomo pokrili, je vračanje podatkov. To je še posebej dragoceno, če želite spremeniti podatke, preden jih uporabite. Čeprav bi to lahko zapisali v vrstici, če boste večkrat uporabili iste izračune, na primer pretvorbo imperialne v metrično, bi bilo morda bolj smiselno, da jo zapišete kot funkcijo. Naš primer bo enostavnejši. Naša funkcija bo zahtevala dve celi števili in vrnila vsoto.

Python

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

V tem primeru naša funkcija zahteva dve spremenljivki namesto ene. To označujemo tako, da imena spremenljivk ločimo z vejico. Ključna beseda vrnitev pove funkciji, naj vrne naslednje podatke, v tem primeru 2 + 4 ali 6. Funkcijo pokličemo znotraj datoteke print () funkcijo.

Ko bi naš program prišel do te vrstice, bi se ustavil, zagnal našo funkcijo in nato nadaljeval, kot da bi addFunction (2, 4) je bila dejansko le vrnjena vrednost 6.

JavaScript

Koda JavaScript je zelo podobna kodi Python. Glavna razlika je v tem, da se funkcija pokliče v opozorilu.

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

Koda C ++ deluje podobno, vendar kot običajno zahteva nekaj več informacij. Najprej moramo povedati, kakšne vrste podatkov bo vrnila naša funkcija. To boste videli nično je bil spremenjen v int . To pomeni, da bo naša funkcija namesto vrnitve podatkov vrnila celo število. Poleg tega je koda podobna kodi, ki smo jo že raziskali.

Upravljajte svoje funkcije

Zabavna stvar pri funkcijah je, da lahko funkcije kličejo druge funkcije. Lahko se celo pokličejo! Toda z veliko močjo prihaja velika odgovornost. Ne norite se pri ustvarjanju kode s funkcijami, ki kličejo druge funkcije, ki kličejo še več funkcij.

Kot smo že omenili, se program ob zagonu funkcije začasno ustavi. To pomeni, da je program shranjen v aktivnem pomnilniku. Če pokličete več funkcij, ne da bi jih dokončali, uporabljate več aktivnega pomnilnika. Če niste previdni, vam lahko program uide.

Deliti Deliti Cvrkutati E-naslov Kako ohraniti kodo čisto s kapsuliranjem objektov

Globalne spremenljivke se morda zdijo preproste, vendar so pogosto vzrok za toliko hroščev. Evo, kako poenostaviti svojo kodo z inkapsulacijo.

Preberite Naprej
Sorodne teme
  • Programiranje
  • Programiranje
  • Funkcionalno programiranje
O avtorju Jennifer Seaton(21 objavljenih člankov)

J. Seaton je znanstveni pisatelj, specializiran za razčlenjevanje kompleksnih tem. Je doktorica znanosti na Univerzi v Saskatchewanu; njena raziskava se je osredotočila na uporabo učenja na podlagi iger za povečanje vključenosti študentov na spletu. Ko ne dela, jo boste našli z branjem, igranjem video iger ali vrtnarjenjem.

Več od Jennifer Seaton

Naročite se na naše novice

Pridružite se našemu glasilu za tehnične nasvete, ocene, brezplačne e -knjige in ekskluzivne ponudbe!

Kliknite tukaj, če se želite naročiti