Python Functions (def): Definícia s príkladmi

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.

  1. Kľúčové slovo, defktoré označuje začiatok hlavičky funkcie.
  2. Názov funkcie na jednoznačnú identifikáciu funkcie. Pomenovanie funkcií sa riadi rovnakými pravidlami zápisu identifikátorov v Pythone.
  3. Parametre (argumenty), prostredníctvom ktorých odovzdávame hodnoty funkcii. Sú voliteľné.
  4. Dvojbodka (:) na označenie konca hlavičky funkcie.
  5. Voliteľný dokumentačný reťazec (docstring), ktorý popisuje, čo funkcia robí.
  6. Jeden alebo viac platných príkazov pythonu, ktoré tvoria telo funkcie. Príkazy musia mať rovnakú úroveň odsadenia (zvyčajne 4 medzery).
  7. Voliteľný returnprí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 returnsa 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 returnsamotný príkaz vo vnútri funkcie nenachádza, funkcia vráti Noneobjekt.

Napríklad:

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

Tu Noneje vrátená hodnota, pretože greet()priamo vytlačí meno a returnnepouž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?

Práce s funkciami 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:

  1. Vstavané funkcie - funkcie, ktoré sú zabudované do Pythonu.
  2. Užívateľom definované funkcie - funkcie definované samotnými používateľmi.

Zaujímavé články...