Mis on programmeerimise funktsioon?

Mis on programmeerimise funktsioon?

Kas leiate sageli, et kopeerite ja kleepite oma koodi oma programmi erinevates jaotistes uuesti kasutamiseks?





Kui jah, siis võiksite kaaluda funktsioonide kasutamist. Funktsioonid on programmeerimiskeelte väga võimas omadus. Need võivad muuta koodi tõhusamaks, hõlpsamini loetavaks ja elegantsemaks.





Mis on funktsioon?

Funktsioon on koodiplokk, mis täidab ülesannet. Seda saab mitu korda helistada ja uuesti kasutada. Saate edastada teavet funktsioonile ja see saab selle tagasi saata. Paljudel programmeerimiskeeltel on sisseehitatud funktsioonid, millele pääsete juurde oma raamatukogus, kuid saate luua ka oma funktsioone.





Funktsiooni kutsumisel peatab programm praeguse programmi ja täidab selle funktsiooni. Funktsioon loetakse ülevalt alla. Kui funktsioon on lõpule jõudnud, jätkab programm töötamist peatatud kohas. Kui funktsioon tagastab väärtuse, kasutatakse seda väärtust seal, kus funktsiooni kutsuti.

Kuidas funktsiooni kirjutada?

Funktsioonide kirjutamiseks on palju erinevaid viise. Täpne süntaks sõltub keelest, milles programmeerite. Näitame programmeerimissüntaksi näitamiseks näiteid Pythoni, JavaScripti ja C ++ keeles.



Seotud: Miks programmeerimiskeeled ei saa ilma funktsioonideta eksisteerida

Tühjad funktsioonid

Esimene funktsioonitüüp, mida me vaatame, on tühine funktsioon. See tähendab lihtsalt, et funktsioon ei tagasta väärtust. Tühiseid funktsioone kasutatakse juhiste komplekti täitmiseks. Nendes näidetes nimetatakse meie kirjutatud funktsiooni tere funktsioon . Funktsiooni eesmärk on väljastada 'Hello World'.





NÕUANNE: andke funktsioonidele nimed, mis selgitavad, mida nad teevad. Programmi keerukamaks muutudes on funktsioone lihtsam hallata ja koodi lugeda.

Python





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

Märksõna def kasutatakse Pythonis funktsiooni määratlemiseks ja loomiseks. Järgmisena on funktsiooni nimi. Funktsiooni juhised järgnevad koolonile järgnevale reale. Tühik on Pythonis oluline, nii et sisestage kindlasti kõik koodid, mida soovite, et teie funktsioon käivitaks. Ülaltoodud näites käivitab funktsioon ühe koodirea.

Teie teravmeelsed silmad võisid seda märgata print () on ka funktsioon, kuid seda nimetatakse teisiti kui meie funktsiooni. Hoidke sellest mõttest kinni, uurime hiljem parameetrite funktsioone.

JavaScript

kuidas tõmblema emotsioone
function helloFunction(){
alert('Hello World!');
}
helloFunction();

JavaScriptis märksõna funktsiooni kasutatakse funktsioonide loomiseks. Järgmisena on meil funktsiooni nimi. Kõik koodid, mis jäävad lokkisulgude vahele, käivitatakse funktsiooni kutsumisel.

Tühik ei ole JavaScriptis oluline, kuid funktsioonis on tavaks koodi taane. Taane muudab koodi lugemise lihtsamaks, mis on teie programmide keerukamaks muutmisel väga oluline.

Märkus: Palju nagu print () varasemas näites, hoiatus () on ka funktsioon.

C ++

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

Funktsioonid luuakse C ++ -is erinevalt. Funktsiooni määratlemiseks mõeldud märksõna asemel kirjeldab esimene sõna, millist tüüpi andmeid funktsioon tagastab. Sellisel juhul ei tagasta meie funktsioon andmeid, seega on andmed tühised. Järgmisena on meil funktsiooni nimi. Sarnaselt JavaScriptiga käivitatakse funktsiooni kutsumisel kogu kood lokkisulgude vahel. Sarnaselt JavaScriptiga ei mõjuta tühik funktsiooni, kuid on hea tava.

Kas märkasite C ++ koodis mõnda muud funktsiooni? Jah, peamine () on funktsioon. C ++ programmi käivitamisel helistate automaatselt põhifunktsioonile. Kui põhifunktsioon on edukalt lõpule viidud, tagastab see programmist väljudes 0, andes märku, et programmi käivitamisel ei esinenud vigu.

Funktsioonid, mis nõuavad väärtusi

Tühised funktsioonid on suurepärased, kui leiate, et kirjutate ikka ja jälle sama bitti koodi. Kuid need võivad piirata. Need on staatilised ja ei muutu. Nad täidavad alati samu juhiseid. Üks võimalus nende kasulikkust suurendada on funktsioonile erinevate väärtuste edastamine.

Olete märganud, et sulgud järgisid kõigi meie funktsioonide nimesid. Sulgudes võime deklareerida, et meie funktsiooni täitmiseks on vaja andmeid. Siis saame funktsioonis kasutada oma funktsioonile edastatud andmeid. Vaatame uuesti eelnevaid näiteid, kuid seekord jätke fraas, et me tahame, et meid esitataks.

Python

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

Nüüd deklareerib meie funktsioon sulgude vahel, et vajab käitamiseks muutujat. Oleme muutujale nime andnud newFraas ja saab seda nüüd meie funktsioonis kasutada. Funktsiooni kutsudes peame edastama nõutud teabe, asetades selle sulgude vahele. Samad muudatused tehti ka JavaScriptis.

JavaScript

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

C ++

kas mu arvuti toetab Windows 10
#include
using namespace std;
void helloFunction(string newPhrase){
cout << newPhrase;
}
int main(){
helloFunction('Our new Phrase');
return 0;
}

Meie C ++ funktsioon nõudis natuke rohkem teavet. Me teame, et teie funktsioon soovib stringi andmeid, kuid see pole C ++ jaoks piisavalt hea. Funktsiooni loomisel peate määrama, millist tüüpi andmeid teie funktsioon nõuab. Kui te ei saada õiget tüüpi andmeid, loob funktsioon vea.

See võib tunduda pisut tüütu, kuid ranged keeled võivad sageli peavalu säästa. Kui kirjutate JavaScripti funktsiooni, mis nõuab täisarvu, kuid number saadetakse stringina, võib see tekitada vea, mille leidmine on väga raske.

Seotud: 5 funktsionaalset programmeerimiskeelt, mida peaksite teadma

Funktsioonid, mis tagastavad väärtuse

Viimane funktsioonivõime, mida me käsitleme, on andmete tagastamine. See on eriti väärtuslik, kui soovite andmeid enne nende kasutamist muuta. Kuigi te võiksite selle tekstisiseselt kirjutada, kui kasutate samu arvutusi mitu korda, näiteks teisendades imperiali mõõdikuteks, võib olla mõttekam see funktsioonina kirjutada. Meie näide on lihtsam. Meie funktsioon nõuab kahte täisarvu ja tagastab summa.

Python

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

Selles näites nõuab meie funktsioon ühe asemel kahte muutujat. Me näitame seda, eraldades oma muutujate nimed komaga. Märksõna tagasi käsib funktsioonil tagastada järgmised andmed, antud juhul 2 + 4 või 6. Me kutsume funktsiooni sees print () funktsiooni.

Kui meie programm sellele reale jõudis, oleks see peatatud, käivitanud meie funktsiooni ja jätkanud siis justkui Funktsioon (2, 4) oli tegelikult vaid tagastatud väärtus 6.

JavaScript

JavaScripti kood on väga sarnane Pythoni koodiga. Peamine erinevus seisneb selles, et funktsiooni kutsutakse hoiatuses.

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 ++ kood töötab sarnaselt, kuid nagu tavaliselt, nõuab natuke rohkem teavet. Esiteks peame ütlema, millist tüüpi andmeid meie funktsioon tagastab. Seda näete tühine on muudetud int . See tähendab, et andmete tagastamise asemel tagastab meie funktsioon täisarvu. Peale selle on kood sarnane koodiga, mida oleme juba uurinud.

Hallake oma funktsioone

Funktsioonide juures on lõbus see, et funktsioonid võivad helistada teistele funktsioonidele. Nad võivad isegi endale helistada! Kuid suure jõuga kaasneb suur vastutus. Ärge minge hulluks, luues koodi funktsioonidega, mis kutsuvad teisi funktsioone, mis kutsuvad veel rohkem funktsioone.

Nagu mainitud, peatub programm funktsiooni käivitamisel iga kord, kui funktsiooni kutsutakse. See tähendab, et programmi hoitakse aktiivses mälus. Kui helistate veel mitmele funktsioonile neid lõpetamata, kasutate aktiivsemat mälu. Kui te pole ettevaatlik, võib teie programm käest ära minna.

Jaga Jaga Piiksuma E -post Kuidas hoida oma koodi objektide kapseldamisega puhtana

Globaalsed muutujad võivad tunduda lihtsad, kuid sageli põhjustavad nad nii palju vigu. Siin on, kuidas oma koodi kapseldamise abil sujuvamaks muuta.

Loe edasi
Seotud teemad
  • Programmeerimine
  • Programmeerimine
  • Funktsionaalne programmeerimine
Autori kohta Jennifer Seaton(Avaldatud 21 artiklit)

J. Seaton on teaduskirjanik, kes on spetsialiseerunud keeruliste teemade lõhkumisele. Tal on doktorikraad Saskatchewani ülikoolist; tema uurimus keskendus mängupõhise õppe kasutamisele õpilaste veebipõhise kaasamise suurendamiseks. Kui ta ei tööta, leiad ta koos tema lugemisega, videomängude mängimise või aiandusega.

Veel Jennifer Seatonilt

Telli meie uudiskiri

Liituge meie uudiskirjaga, et saada tehnilisi näpunäiteid, ülevaateid, tasuta e -raamatuid ja eksklusiivseid pakkumisi!

Tellimiseks klõpsake siin