Python Functions (def): Definice s příklady

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.

  1. Klíčové slovo, defkteré označuje začátek záhlaví funkce.
  2. Název funkce k jedinečné identifikaci funkce. Pojmenování funkcí se řídí stejnými pravidly psaní identifikátorů v Pythonu.
  3. Parametry (argumenty), kterými předáváme hodnoty funkci. Jsou volitelné.
  4. Dvojtečka (:) pro označení konce záhlaví funkce.
  5. Volitelný dokumentační řetězec (docstring), který popisuje, co funkce dělá.
  6. 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).
  7. Volitelný returnpří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 returnse 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 returnpříkaz sám není ve funkci, funkce vrátí Noneobjekt.

Například:

 >>> print(greet("May")) Hello, May. Good morning! None

Zde Noneje vrácená hodnota, protože greet()přímo vytiskne název a returnnepouž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?

Práce s funkcemi v Pythonu

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:

  1. Integrované funkce - Funkce, které jsou integrovány do Pythonu.
  2. Uživatelem definované funkce - Funkce definované samotnými uživateli.

Zajímavé články...