Často sa vám stáva, že kopírujete a vkladáte svoj kód na ďalšie použitie do rôznych častí vášho programu?
Ak je to tak, možno budete chcieť zvážiť použitie funkcií. Funkcie sú veľmi výkonnou vlastnosťou programovacích jazykov. Môžu zvýšiť efektivitu, čitateľnosť a elegantnosť kódu.
Čo je to funkcia?
Funkcia je blok kódu, ktorý vykonáva úlohu. Dá sa to nazvať a opakovane použité opakovane. Funkcii môžete odovzdať informácie a tá ich môže poslať späť. Mnoho programovacích jazykov má zabudované funkcie, ku ktorým máte prístup v ich knižnici, môžete si však vytvoriť aj svoje vlastné funkcie.
Naučte sa základy rekurzie, základného, ale mierne prelomiteľného nástroja pre programátorov.
Keď zavoláte funkciu, program pozastaví aktuálny program a vykoná funkciu. Funkcia sa bude čítať zhora nadol. Po dokončení funkcie program pokračuje tam, kde bol pozastavený. Ak funkcia vrátila hodnotu, použije sa táto hodnota tam, kde bola funkcia volaná.
Ako píšete funkciu?
Existuje mnoho rôznych spôsobov zápisu funkcií. Presná syntax bude závisieť od jazyka, v ktorom programujete. Ukážeme príklady v jazykoch Python, JavaScript a C ++, aby sme demonštrovali celý rad programovacej syntaxe.
Súvisiace: Prečo programovacie jazyky nemôžu existovať bez funkcií
Funkcie neplatnosti
Prvý typ funkcie, na ktorý sa pozrieme, je prázdna funkcia. To jednoducho znamená, že funkcia nevráti hodnotu. Funkcie neplatnosti sa používajú na dokončenie súboru pokynov. V týchto príkladoch sa volá funkcia, ktorú sme napísali ahojFunkcia. Účelom tejto funkcie je vytvoriť výstup „Hello World“.
TIP: pomenujte funkcie, ktoré vysvetľujú, čo robia. Správa a čítanie kódu bude jednoduchšie, keď sa program stane zložitejším.
Python
def helloFunction ():
print („Hello World“)
ahojFunkcia ()
Kľúčové slovo def sa v Pythone používa na definovanie a vytvorenie funkcie. Ďalej je uvedený názov funkcie. Pokyny vo funkcii nasledujú na ďalšom riadku za dvojbodkou. V Pythone záleží na prázdnom priestore, preto nezabudnite odsadiť všetok kód, ktorý má spustiť vaša funkcia. Vo vyššie uvedenom príklade funkcia spustí jeden riadok kódu.
Vaše bystré oči si to mohli všimnúť print () je tiež funkcia, ale nazýva sa to inak ako naša funkcia. Počkajte si teraz túto myšlienku, neskôr preskúmame funkcie a parametre.
JavaScript
funkcia helloFunction () {
upozornenie („Hello World!“);
}
helloFunction ();
V jazyku JavaScript kľúčové slovo funkcia sa používa na vytváranie funkcií. Ďalej tu máme názov funkcie. Akýkoľvek kód, ktorý spadá medzi zložené zátvorky, sa spustí, keď sa volá funkcia.
Prázdne miesto nie je v JavaScripte dôležité, ale je obvyklé odsadiť kód vo funkcii. Odsadenie uľahčuje čítanie kódu, čo je veľmi dôležité, pretože vaše programy sa stávajú zložitejšími.
Poznámka: Podobne print () v predchádzajúcom príklade upozornenie () je tiež funkcia.
C ++
#include
pomocou namespace std;
void helloFunction () {
cout << "Ahoj Svet!";
}
int main () {
helloFunction ();
návrat 0;
}
Funkcie sa v C ++ vytvárajú rôzne. Namiesto kľúčového slova na definovanie funkcie popisuje prvé slovo typ údajov, ktoré funkcia vráti. V takom prípade naša funkcia nevráti žiadne údaje, takže údaje sú neplatné. Ďalej tu máme názov funkcie. Podobne ako v JavaScripte sa všetok kód medzi zloženými zátvorkami spustí, keď sa volá funkcia. Rovnako ako v prípade JavaScriptu, biele medzery neovplyvňujú funkciu, ale je osvedčeným postupom.
Všimli ste si v kóde C ++ inú funkciu? Áno, hlavný() je funkcia. Keď spustíte program C ++, automaticky zavoláte hlavnú funkciu. Keď je hlavná funkcia úspešne dokončená, vráti pri výstupe z programu 0, aby signalizovala, že pri spustení programu nedošlo k žiadnym chybám.
Funkcie vyžadujúce hodnoty
Funkcie void sú vynikajúce, ak zistíte, že píšete stále ten istý kúsok kódu. Môžu však byť obmedzujúce. Sú statické a nemenia sa. Vždy plnia rovnaké pokyny. Jedným zo spôsobov, ako môžeme zvýšiť ich užitočnosť, je odovzdať funkcii rôzne hodnoty.
Určite ste si všimli, že zátvorky nasledovali za názvami všetkých našich funkcií. V zátvorkách môžeme vyhlásiť, že na spustenie našej funkcie sú potrebné údaje. Potom môžeme vo funkcii použiť údaje odovzdané našej funkcii. Znova sa pozrime na predchádzajúce príklady, ale tentokrát odovzdajme frázu, ktorú chceme mať na výstupe.
Python
def helloFunction (newPhrase):
tlač (newPhrase)
helloFunction ("Naša nová fráza")
Teraz medzi zátvorkami naša funkcia deklaruje, že na spustenie potrebuje premennú. Premennú sme pomenovali newPhrase a teraz ho môžeme použiť v našej funkcii. Keď voláme funkciu, potrebujeme odovzdať požadované informácie umiestnením medzi zátvorky. Rovnaké zmeny boli urobené aj v JavaScripte.
JavaScript
funkcia helloFunction (newPhrase) {
upozornenie (newPhrase);
}
helloFunction ("Naša nová fráza");
C ++
#include
pomocou namespace std;
void helloFunction (string newPhrase) {
cout << novaFráza;
}
int main () {
helloFunction ("Naša nová fráza");
návrat 0;
}
Naša funkcia C ++ vyžadovala trochu viac informácií. Vieme, že vaša funkcia vyžaduje údaje reťazca, ale to pre C ++ nie je dosť dobré. Pri vytváraní svojej funkcie musíte určiť, aký typ údajov vyžaduje vaša funkcia. Ak neodošlete správny typ údajov, funkcia vytvorí chybu.
Mohlo by sa to zdať trochu nepríjemné, ale prísne jazyky vám často môžu spôsobiť bolesti hlavy. Ak v JavaScripte napíšete funkciu, ktorá vyžaduje celé číslo, ale číslo sa odošle ako reťazec, môže to spôsobiť chybu, ktorú je veľmi ťažké vypátrať.
Súvisiace: 5 funkčných programovacích jazykov, ktoré by ste mali vedieť
Funkcie, ktoré vracajú hodnotu
Konečnou funkčnou schopnosťou, ktorej sa budeme venovať, je vracanie údajov. To je obzvlášť cenné, keď chcete zmeniť údaje skôr, ako ich použijete. Aj keď by ste tento riadok mohli napísať, ak budete opakovane používať rovnaké výpočty, ako napríklad prevod cisárskeho na metrický údaj, mohlo by mať zmysel písať ho ako funkciu. Náš príklad bude jednoduchší. Naša funkcia bude vyžadovať dve celé čísla a vráti súčet.
Python
def addingFunction (a, b):
návrat a + b
print (addingFunction (2, 4))
V tomto príklade vyžaduje naša funkcia dve premenné namiesto jednej. Naznačujeme to oddelením názvov premenných čiarkou. Kľúčové slovo návrat povie funkcii, aby vrátila nasledujúce údaje, v tomto prípade 2 + 4 alebo 6. Funkciu nazývame vnútri print () funkcia.
Akonáhle sa náš program dostal na tento riadok, pozastavil by sa, spustil našu funkciu a potom pokračoval, akoby addingFunction (2, 4) bola vlastne iba vrátená hodnota 6.
JavaScript
Kód JavaScript je veľmi podobný kódu Pythonu. Primárny rozdiel je v tom, že funkcia sa volá v upozornení.
funkcia addFunction (a, b) {
návrat a + b;
}
varovanie (addingFunction (2, 4));
C ++
#include
pomocou namespace std;
int addingFunction (int a, int b) {
návrat a + b;
}
int main () {
cout << addingFunction (2, 4);
návrat 0;
}
C ++ kód beží podobne, ale ako obvykle vyžaduje trochu viac informácií. Najprv si musíme povedať, aký typ dát naša funkcia vráti. Uvidíte to neplatný bolo zmenené na int. To znamená, že namiesto vrátenia žiadnych údajov, naša funkcia vráti celé číslo. Okrem toho je kód podobný kódu, ktorý sme už preskúmali.
Spravujte svoje funkcie
Zábavnou vecou na funkciách je, že tieto funkcie môžu volať ďalšie funkcie. Môžu si dokonca zavolať! Ale s veľkou mocou prichádza aj veľká zodpovednosť. Nezbláznite sa pri vytváraní kódu pomocou funkcií, ktoré volajú ďalšie funkcie, ktoré volajú ešte viac funkcií.
Ako už bolo spomenuté, pri každom vyvolaní funkcie sa program zastaví, keď je funkcia spustená. To znamená, že program je uložený v aktívnej pamäti. Ak zavoláte niekoľko ďalších funkcií bez toho, aby ste ich dokončili, využívate aktívnejšiu pamäť. Ak nie ste opatrní, váš program sa vám môže vymknúť spod kontroly.
Globálne premenné sa môžu zdať jednoduché, ale často sú príčinou toľkých chýb. Tu je príklad, ako zjednodušiť váš kód zapuzdrením.
- Programovanie
- Programovanie
- Funkčné programovanie
J. Seaton je autor prírodných vied, ktorý sa špecializuje na búranie zložitých tém. Má doktorát z univerzity v Saskatchewane; jej výskum sa zameral na využitie herného učenia na zvýšenie zapojenia študentov online. Keď nepracuje, nájdete ju pri čítaní, hraní videohier alebo záhradníctve.
Prihlásiť sa ku odberu noviniek
Pripojte sa k nášmu bulletinu s technickými tipmi, recenziami, bezplatnými elektronickými knihami a exkluzívnymi ponukami!
Ešte jeden krok…!
V e-maile, ktorý sme vám práve poslali, potvrďte svoju e-mailovú adresu.