Python — funkce

Zpět na blog

Python — funkce

python funkce return definice

Jak vytvářet funkce v Pythonu.

Co jsou Python funkce?

Funkce v Pythonu jsou zpravidla malé části kódu, které mají své jméno. Používají se k lepší organizaci kódu a k usnadnění programování. Obsahují kód, který se často využívá opakovaně.

Každá funkce má svoje unikátní jméno. Pokud chcete funkci použít, stačí pouze zavolat její jméno. Vytváření a používání funkcí si vyzkoušíte v následujících příkladech.

Funkce - základy

Abyste mohli funkci použít, musíte ji nejprve definovat. K tomu slouží klíčové slovo def, následované jménem funkce a závorkami, do kterých můžete přidat parametry.

Parametry funkce jsou proměnné, které funkci předáváte. Parametry jsou volitelné. Díky tomu můžete mít funkci bez parametrů.

Funkce také mohou vracet výsledek pomocí klíčového slova return. To znamená, že po provedení kódu vrátí funkce výstupní hodnotu, kterou můžete dál používat.

Vyzkoušejte si vytváření funkcí

Příklad 1

Jednoduchý příklad, kde si vytvoříte vlastní funkci v Pythonu.

def pozdrav():
    print("LovelyData je lovely!")

# Zavolání funkce
pozdrav()
LovelyData je lovely!

V tomto příkladu jste vytvořili funkci s názvem pozdrav, která vypisuje zprávu Lovelydata je lovely!. Po definici funkce můžeme tuto funkci zavolat jednoduše napsáním jejího názvu. Nezapomeňte na závorky!

Příklad 2

Funkce mohou mít parametry, což jsou hodnoty, které mohou být předány do funkce pro další zpracování.

def pozdrav(text_pozdravu):
    print(text_pozdravu)

# Zavolání funkce
pozdrav("Funkce jsou lovely!")
Funkce jsou lovely!

Funkce vracející hodnotu

Funkce může kromě vstupních parametrů také vracet hodnoty. Ty pak mohou být předány pro další zpracování.

Příklad 3

Vyzkoušejte si napsat funkci pro výpočet součtu dvou čísel.

def soucet(a, b):
    return a + b

# Výsledek funkce můžeme uložit do proměnné
vysledek = soucet(5, 3)
print(vysledek)
8

V tomto příkladu je funkce soucet definována s dvěma parametry ab. Uvnitř funkce jsou tyto dva parametry sečteny pomocí operátoru + a následně je vrácen výsledek pomocí klíčového slova return.

Při použití funkce je nutné předat hodnoty (čísla) jako argumenty a následně je výsledek uložen do proměnné vysledek a vypsán na výstup.

Složitější Python funkce

Vyzkoušejte si pár složitějších příkladů na vytváření vlastních funkcí v Pythonu.

Příklad 4

Tento příklad převádí teplotu mezi stupni Celsia a stupni Fahrenheita.

def prevod_teploty(teplota, jednotka):
    # Převod z stupňů Celsia na stupně Fahrenheita
    if jednotka == 'C':
        return (teplota * 9/5) + 32
    # Převod ze stupňů Fahrenheita na stupně Celsia
    elif jednotka == 'F':
        return (teplota - 32) * 5/9
    else:
        return f"{jednotka} není platnou jednotkou teploty."

# Příklady použití funkce
# Všimněte si zaokrouhlení na 1 desetinné místo
teplota_c = 25
teplota_f = prevod_teploty(teplota_c, 'C')
print(f"{teplota_c:.1f}°C = {teplota_f:.1f}°F")

teplota_f = 451
teplota_c = prevod_teploty(teplota_f, 'F')
print(f"{teplota_f:.1f}°F = {teplota_c:.1f}°C")
25.0°C = 77.0°F
451.0°F = 232.8°C

Funkce prevod_teploty přijímá dvě hodnoty: teplotu a jednotku teploty. Na základě zadané jednotky provede převod teploty mezi stupni Celsia a stupni Fahrenheita. Pokud je jednotka C, provede převod na stupně Fahrenheita, a pokud je jednotka F, provede převod na stupně Celsia. Pokud je zadána nesprávná jednotka, vrátí chybovou hlášku.

Příklad 5

Funkce pro výpočet průměru zadaných čísel.

def vypocti_prumer(seznam_cisel):
    pocet = len(seznam_cisel)
    suma = sum(seznam_cisel)
    prumer = suma / pocet
    return prumer

cisla = [1, 2, 3, 4, 5]
prumer_cisel = vypocti_prumer(cisla)
print("Průměr je:", prumer_cisel)
Průměr je: 3.0

Funkce vypocti_prumer je definována s jedním parametrem seznam, který přijímá seznam (list) čísel. Funkce zjistí počet čísel v seznamu pomocí standardní funkce len(seznam), sečte všechna čísla v seznamu pomocí standardní funkce sum(seznam) a vydělí je počtem čísel. Nakonec vrátí výsledek pomocí klíčového slova return.

Příklad 6

Tato funkce převádí malá písmena na velká.

def velka_pismena(text):
    prevedeny_text = text.upper()
    return prevedeny_text

zadany_text = "ahoj zářivý světe"
vysledek = velka_pismena(zadany_text)
print("Převedený text:", vysledek)
Převedený text: AHOJ ZÁŘIVÝ SVĚTE

Funkce velka_pismena přijímá jako vstupní parametr řetězec text. V těle funkce se používá metoda řetězce upper(), která převede všechna písmena na velká písmena. Výsledkem je převedený text, který je vrácen pomocí klíčového slova return.

Dokumentace přímo ve funkci

Pokud chcete zdokumentovat, co funkce dělá, můžete použít tzv. docstring. Jak už název napovídá, jedná se o popis funkce (dokumentaci), která se stane nedílnou součástí funkce. Popis funkce si zobrazíte např. pomocí funkce help.

Příklad 7

def velka_pismena(text):
    """Funkce převede zadaný text na velká písmena."""
    prevedeny_text = text.upper()
    return prevedeny_text

help(velka_pismena)
Help on function velka_pismena in module __main__:

velka_pismena(text)
    Funkce převede zadaný text na velká písmena.

Závěrem

Předchozí příklady ukazují, jak můžete vytvářet vlastní funkce v Pythonu k provádění různých úkolů a manipulaci s daty. Jejich vytvoření umožňuje organizaci a opakované využití kódu, což usnadňuje tvorbu programů.

Pokud se chcete naučit jeden z nejpopulárnějších programovacích jazyků současnosti, podívejte se na nabídku našich prověřených kurzů Pythonu.


Líbil se vám článek? Sdílejte ho s ostatními

nebo nám napište něco hezkého. Děkujeme!

Zpět na blog

SQL pro každý den

Jak si užít SQL a nezabloudit v kódu

Zobrazit knihu

SQL pro analytiky 2 - pokročilí

Naučte se vytvářet složité dotazy, databázové objekty a používat pokročilé funkce jazyka SQL.

Zobrazit kurz

Vizualizace pro analytiky

Matplotlib, Pandas a Seaborn. Naučte se vizualizovat a prezentovat data v Pythonu.

Zobrazit kurz

Hledáme další autory

Publikujte na Lovely Blogu a inspirujte ostatní! Sdílením svých znalosti si budujete osobní značku.

Kontaktujte nás

Odběr novinek

Novinky, návody a tipy přímo do vašeho emailu.

Copyright © 2018-2024, Colorbee, s.r.o.

Designed by grafikli.cz in Prague.