V tomto článku se dozvíte o funkcích, o tom, co je to funkce, o syntaxi, komponentách a typech funkcí. Také se naučíte vytvořit funkci v Pythonu.
Video: Úvod do funkcí Pythonu
Co je to funkce v Pythonu?
V Pythonu je funkce skupina souvisejících příkazů, která provádí konkrétní úkol.
Funkce pomáhají rozdělit náš program na menší a modulární bloky. Jak se náš program zvětšuje a zvětšuje, díky funkcím je organizovanější a lépe ovladatelný.
Kromě toho se vyhýbá opakování a umožňuje opětovné použití kódu.
Syntaxe funkce
def název_funkce (parametry): "" "prohlášení docstring" ""
Nahoře je definice funkce, která se skládá z následujících komponent.
- Klíčové slovo,
def
které označuje začátek záhlaví funkce. - Název funkce k jedinečné identifikaci funkce. Pojmenování funkcí se řídí stejnými pravidly psaní identifikátorů v Pythonu.
- Parametry (argumenty), kterými předáváme hodnoty funkci. Jsou volitelné.
- Dvojtečka (:) pro označení konce záhlaví funkce.
- Volitelný dokumentační řetězec (docstring), který popisuje, co funkce dělá.
- Jeden nebo více platných příkazů pythonu, které tvoří tělo funkce. Výpisy musí mít stejnou úroveň odsazení (obvykle 4 mezery).
- Volitelný
return
příkaz pro vrácení hodnoty z funkce.
Příklad funkce
def greet(name): """ This function greets to the person passed in as a parameter """ print("Hello, " + name + ". Good morning!")
Jak volat funkci v pythonu?
Jakmile jsme definovali funkci, můžeme ji volat z jiné funkce, programu nebo dokonce z příkazového řádku Pythonu. Pro volání funkce jednoduše zadáme název funkce s příslušnými parametry.
>>> greet('Paul') Hello, Paul. Good morning!
Poznámka: Zkuste spustit výše uvedený kód v programu Python s definicí funkce, abyste viděli výstup.
def greet(name): """ This function greets to the person passed in as a parameter """ print("Hello, " + name + ". Good morning!") greet('Paul')
Docstrings
První řetězec za záhlaví funkce se nazývá docstring a je zkratkou pro dokumentační řetězec. Krátce se používá k vysvětlení, co funkce dělá.
Ačkoli je dokumentace volitelná, je dobrým programovacím postupem. Pokud si nepamatujete, co jste minulý týden měli na večeři, vždy si zdokumentujte kód.
Ve výše uvedeném příkladu máme dokumentový řetězec bezprostředně pod záhlavím funkce. Obecně používáme trojité uvozovky, aby se dokumentový řetězec mohl rozšířit až na více řádků. Tento řetězec je nám k dispozici jako __doc__
atribut funkce.
Například :
Zkuste spustit následující do prostředí Pythonu, abyste viděli výstup.
>>> print(greet.__doc__) This function greets to the person passed in as a parameter
Chcete-li se dozvědět více o docstrings v Pythonu, navštivte Python Docstrings.
Návratové prohlášení
Příkaz return
se používá k ukončení funkce a návratu zpět na místo, odkud byla volána.
Syntaxe návratu
návrat (expression_list)
Tento příkaz může obsahovat výraz, který se vyhodnotí a vrátí se hodnota. Pokud v příkazu není žádný výraz nebo return
příkaz sám není ve funkci, funkce vrátí None
objekt.
Například:
>>> print(greet("May")) Hello, May. Good morning! None
Zde None
je vrácená hodnota, protože greet()
přímo vytiskne název a return
nepoužije se žádný příkaz.
Příklad návratu
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ýstup
2 4
Jak funguje funkce v Pythonu?
![](https://cdn.wiki-base.com/1477661/python_functions_def_definition_with_examples.jpg.webp)
Rozsah a životnost proměnných
Rozsah proměnné je část programu, kde je proměnná rozpoznána. Parametry a proměnné definované uvnitř funkce nejsou viditelné zvenčí funkce. Proto mají místní působnost.
Životnost proměnné je období, po které proměnná končí v paměti. Životnost proměnných uvnitř funkce je tak dlouhá, jak dlouho se funkce provádí.
Jakmile se vrátíme z funkce, jsou zničeni. Funkce si proto nepamatuje hodnotu proměnné z jejích předchozích volání.
Zde je příklad pro ilustraci rozsahu proměnné uvnitř funkce.
def my_func(): x = 10 print("Value inside function:",x) x = 20 my_func() print("Value outside function:",x)
Výstup
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:
- Integrované funkce - Funkce, které jsou integrovány do Pythonu.
- Uživatelem definované funkce - Funkce definované samotnými uživateli.