V tomto článku sa dozviete o funkciách, o čom je funkcia, o ich syntaxi, komponentoch a typoch funkcií. Naučíte sa tiež vytvárať funkcie v Pythone.
Video: Úvod do funkcií Pythonu
Čo je to funkcia v Pythone?
V Pythone je funkcia skupina súvisiacich príkazov, ktoré vykonávajú konkrétnu úlohu.
Funkcie pomáhajú rozdeliť náš program na menšie a modulárne bloky. Ako sa náš program zväčšuje a rozširuje, vďaka funkciám je organizovanejší a zvládnuteľnejší.
Ďalej sa vyhýba opakovaniu a umožňuje opätovné použitie kódu.
Syntax funkcie
def názov_funkcie (parametre): "" "vyhlásenie dokladu" ""
Vyššie je uvedená definícia funkcie, ktorá sa skladá z nasledujúcich komponentov.
- Kľúčové slovo,
def
ktoré označuje začiatok hlavičky funkcie. - Názov funkcie na jednoznačnú identifikáciu funkcie. Pomenovanie funkcií sa riadi rovnakými pravidlami zápisu identifikátorov v Pythone.
- Parametre (argumenty), prostredníctvom ktorých odovzdávame hodnoty funkcii. Sú voliteľné.
- Dvojbodka (:) na označenie konca hlavičky funkcie.
- Voliteľný dokumentačný reťazec (docstring), ktorý popisuje, čo funkcia robí.
- Jeden alebo viac platných príkazov pythonu, ktoré tvoria telo funkcie. Príkazy musia mať rovnakú úroveň odsadenia (zvyčajne 4 medzery).
- Voliteľný
return
príkaz na vrátenie hodnoty z funkcie.
Ukážka funkcie
def greet(name): """ This function greets to the person passed in as a parameter """ print("Hello, " + name + ". Good morning!")
Ako volať funkciu v Pythone?
Keď sme definovali funkciu, môžeme ju zavolať z inej funkcie, programu alebo dokonca z príkazového riadku Pythonu. Pre volanie funkcie jednoducho napíšeme názov funkcie s príslušnými parametrami.
>>> greet('Paul') Hello, Paul. Good morning!
Poznámka: Skúste spustiť vyššie uvedený kód v programe Python s definíciou funkcie, aby ste videli výstup.
def greet(name): """ This function greets to the person passed in as a parameter """ print("Hello, " + name + ". Good morning!") greet('Paul')
Docstrings
Prvý reťazec za hlavičkou funkcie sa nazýva docstring a je skratkou pre dokumentačný reťazec. Krátko sa používa na vysvetlenie, čo funkcia robí.
Aj keď je dokumentácia voliteľná, je dobrým programovacím postupom. Pokiaľ si nepamätáte, čo ste mali minulý týždeň na večeri, vždy si zdokumentujte kód.
Vo vyššie uvedenom príklade máme dokumentačný reťazec bezprostredne pod hlavičkou funkcie. Spravidla používame trojité úvodzovky, aby sa rozsah dokumentov mohol rozšíriť až na viac riadkov. Tento reťazec je k dispozícii ako __doc__
atribút funkcie.
Napríklad :
Skúste spustiť nasledujúce do shellu Python, aby ste videli výstup.
>>> print(greet.__doc__) This function greets to the person passed in as a parameter
Ak sa chcete dozvedieť viac informácií o docstrings v Pythone, navštívte Python Docstrings.
Návratové vyhlásenie
Príkaz return
sa používa na ukončenie funkcie a návrat na miesto, odkiaľ bola volaná.
Syntax vrátenia
návrat (zoznam_výrazov)
Tento príkaz môže obsahovať výraz, ktorý sa vyhodnotí a hodnota sa vráti. Ak vo vyhlásení nie je žiadny výraz alebo sa return
samotný príkaz vo vnútri funkcie nenachádza, funkcia vráti None
objekt.
Napríklad:
>>> print(greet("May")) Hello, May. Good morning! None
Tu None
je vrátená hodnota, pretože greet()
priamo vytlačí meno a return
nepoužije sa žiadny príkaz.
Príklad vrátenia
def absolute_value(num): """This function returns the absolute value of the entered number""" if num>= 0: return num else: return -num print(absolute_value(2)) print(absolute_value(-4))
Výkon
2 4
Ako funguje funkcia v Pythone?

Rozsah a životnosť premenných
Rozsah premennej je časť programu, v ktorej je premenná rozpoznaná. Parametre a premenné definované vo vnútri funkcie nie sú viditeľné zvonka funkcie. Preto majú miestny rozsah pôsobnosti.
Životnosť premennej je obdobie, počas ktorého končí premenná v pamäti. Životnosť premenných vo vnútri funkcie je taká dlhá, ako dlho sa funkcia vykonáva.
Zničia sa, akonáhle sa vrátime z funkcie. Preto si funkcia nepamätá hodnotu premennej z jej predchádzajúcich volaní.
Tu je príklad na ilustráciu rozsahu premennej vo vnútri funkcie.
def my_func(): x = 10 print("Value inside function:",x) x = 20 my_func() print("Value outside function:",x)
Výkon
Value inside function: 10 Value outside function: 20
Here, we can see that the value of x is 20 initially. Even though the function my_func()
changed the value of x to 10, it did not affect the value outside the function.
This is because the variable x inside the function is different (local to the function) from the one outside. Although they have the same names, they are two different variables with different scopes.
On the other hand, variables outside of the function are visible from inside. They have a global scope.
We can read these values from inside the function but cannot change (write) them. In order to modify the value of variables outside the function, they must be declared as global variables using the keyword global
.
Types of Functions
Basically, we can divide functions into the following two types:
- Vstavané funkcie - funkcie, ktoré sú zabudované do Pythonu.
- Užívateľom definované funkcie - funkcie definované samotnými používateľmi.