Ako programátor sa často pristihnete, že vykonávate akciu alebo úlohu opakovane. To môže byť únavné a časovo náročné, najmä pri práci s veľkou alebo zložitou základňou kódu. Ich automatizácia pomocou funkcií je efektívnejší prístup k vykonávaniu takýchto úloh. Funkcie vám umožňujú napísať logiku kódu raz a použiť ju kdekoľvek vo vašom programe.

Čo je funkcia Pythonu?

V Pythone je funkcia blok kódu používaný na vykonanie konkrétnej úlohy. Funkciu stačí napísať raz, ale v kóde ju môžete použiť viackrát. Funkcia môže brať argumenty ako vstupné a vracať výstupné hodnoty. Tento jednoduchý program zobrazuje funkciu, ktorá vypočítava súčet troch čísel:

# Funkcia Python na výpočet súčtu troch čísel

defvypočítať_súčet(a, b, c):
vrátiť a+b+c

vytlačiť (vypočítať_súčet(1,2,3)) # návratov 6
vytlačiť (vypočítať_súčet(1000, 300,44)) # sa vracia 1344
vytlačiť (vypočítať_súčet(12, 4,78)) # vráti 94

Vo vyššie uvedenom programe funkcia vracia súčet troch argumentov. Keď sa funkcia volá viackrát, pre každý prípad vráti iný výstup. Užitočnou aplikáciou pre túto funkciu bude aplikácia kalkulačky.

instagram viewer

Definovanie funkcie v Pythone

Python má mnoho vstavaných funkcií k dispozícii pre vývojárov. Tieto vstavané funkcie však nie vždy postačujú na splnenie požiadaviek väčšiny projektov. Ak chcete splniť vlastné požiadavky, musíte definovať svoje vlastné funkcie. Definovanie vlastných funkcií je bežnou praxou v programovaní.

V Pythone môžete definovať vlastnú funkciu pomocou def kľúčové slovo, za ktorým nasleduje názov vašej funkcie so zátvorkami pred ním. Tu je príklad:

defnázov_funkcie()

Pri priraďovaní názvu funkcie v Pythone by ste mali vziať na vedomie tieto pravidlá:

  • Názvy funkcií by mali byť napísané malými písmenami.
  • Názvy funkcií by mali byť popisné.
  • Na oddelenie slov v názve funkcie použite podčiarkovníky.

Po definovaní funkcie musíte napísať logiku na vykonanie požadovanej úlohy. Táto funkcia napríklad vypočíta obsah trojuholníka:

# Funkcia Python na výpočet plochy trojuholníka

defvypočítať_plochu_trojuholníka(základ, výška):
plocha = (základňa * výška)/2
vrátiť oblasť

vytlačiť (vypočítať_oblasť_trojuholníka(12, 3))

Vyššie uvedená funkcia definuje dva parametre: základňu a výška, vydelí ich produkt dvomi a vráti výsledok ako výstup. Môžete napísať akúkoľvek logiku, ktorú chcete, aby vaša funkcia vykonávala.

Pochopenie funkčných argumentov

V predchádzajúcich príkladoch funkcie prijali argumenty na vykonanie akcií. Argumenty v týchto príkladoch sú známe ako požadované alebo pozičné argumenty. V Pythone môžu byť vaše argumenty niektoré z nasledujúcich:

  • Pozičné argumenty
  • Argumenty kľúčových slov

Pozičné argumenty

Pozičné argumenty musia byť odovzdané v správnom poradí definície. Napríklad, ak definujete funkciu s parametrami a, b, a c, musíte zadať hodnoty pre tieto parametre, keď ich voláte. Pozrime sa na predchádzajúci príklad:

# Funkcia Python na výpočet súčtu troch čísel

defvypočítať_súčet(a, b, c):
vrátiť a+b+c

vytlačiť (vypočítať_súčet(1,2,3)) # návratov 6
vytlačiť (vypočítať_súčet(1000, 300,44)) # sa vracia 1344
vytlačiť (vypočítať_súčet(12, 4,78)) # vráti 94

Vo vyššie uvedenom programe, vypočítať_súčet() Funkcia má tri argumenty, kedykoľvek ju zavoláme. Každý argument predstavuje zodpovedajúci parameter. V prvom volaní funkcie sú čísla 1, 2, a 3 reprezentovať a, b, a c podľa toho.

Parameter je deklarovaný v definícii funkcie, zatiaľ čo argument je hodnota odovzdaná pri volaní funkcie. Táto hodnota je reprezentáciou jej zodpovedajúceho parametra.

Pozičné argumenty sú povinné. Ak ich nepridáte, dostanete a TypeError. Dokazuje to nasledujúci príklad:

defvypočítať_súčet(a, b, c):
vrátiť a+b+c

vytlačiť (vypočítať_súčet(1,2)) # vyvoláva TypeError

Keď na svojom počítači spustíte vyššie uvedený program, zobrazí sa chyba podobná tej na obrázku nižšie:

Argumenty kľúčových slov

Argumenty kľúčových slov nemusia byť nevyhnutne odovzdané vždy, keď voláte funkciu. Sú to voliteľné argumenty a nemusia sa riadiť konkrétnym poradím. Python nám umožňuje používať *args a **kwargs špecifikovať argumenty kľúčových slov.

Okrem používania *argumenty a **kwargs, je tiež možné zadať predvolené hodnoty pre vaše argumenty. Ak to urobíte, nedôjde k chybe, ak pri volaní funkcie zabudnete pridať hodnotu. Tento príklad poskytuje ilustráciu:

defvypočítať_súčet(a, b, c=3):
vrátiť a+b+c

vytlačiť (vypočítať_súčet(1,2)) # návratov 6

Vo vyššie uvedenom programe, kedy vypočítať_súčet() sa volá, neexistuje argument pre c; to neovplyvní program, pretože c už má predvolenú hodnotu. Môžete zadať predvolené hodnoty pre toľko argumentov, koľko chcete, ale uistite sa, že to robíte múdro.

Použite funkcie na usporiadanie kódu

Funkcie sú užitočné na organizáciu kódu, vďaka čomu je čitateľnejší a efektívnejší. Pomocou funkcií môžete rozdeliť svoj kód na menšie, opakovane použiteľné časti, ktoré sú jednoduchšie na pochopenie a údržbu. Okrem toho, ak potrebujete vykonať zmeny vo svojom kóde, stačí upraviť iba potrebnú funkciu a nie celú základňu kódu.