Jak volat funkci v Pythonu: The Ultimate Guide

Funkce jsou základním konceptem v programování, který vám umožňuje spravovat a opakovaně používat bloky kódu. Vědět, jak volat funkci v Pythonu, je klíčová dovednost, kterou je třeba se naučit.

V tomto tutoriálu se naučíte základy volání funkcí spolu s několika tipy pro psaní efektivního kódu, který je srozumitelnější.

Zvládnutí funkcí vám nejen pomůže vytvořit všestrannější kód, ale také zefektivní váš programovací proces a zlepší vaši celkovou efektivitu jako vývojáře.

Funkce mají stejné základní principy a jakmile si osvojíte funkce v Pythonu, budete moci rozšířit své znalosti funkcí ve srovnání s jinými programovacími jazyky, jako je Java, R, JavaScript, PHP atd.

Jak volat funkci v Pythonu: The Ultimate Guide

Obsah

Co je funkce?

Funkce v Pythonu vám umožňuje vytvářet opakovaně použitelné části kódu, které lze volat v rámci vašeho programu, zjednodušuje váš kód a zlepšuje čitelnost. Provádí konkrétní úkol nebo sadu úkolů a lze jej v rámci programu volat vícekrát. 

Definování funkce v Pythonu

V Pythonu existují dvě hlavní kategorie funkcí:

  • Uživatelsky definované funkce: Funkce, které definuje programátor, aby se zabránilo opakování kódu
  • Vestavěné funkce : Funkce, které definuje někdo jiný a lze je použít ve vašem kódu po instalaci potřebných balíčků

Tato část se zaměřuje na uživatelem definované funkce. Naučíte se:

  • Jak definovat funkci v Pythonu
  • Syntaxe funkce
  • Jak používat parametry a argumenty

Syntaxe funkce

Klíčové slovo def následované názvem funkce a závorkami vám umožňuje definovat funkci v Pythonu. Tělo funkce je odsazené a obsahuje kód, který se má provést při volání funkce. Níže je uveden příklad základní funkce v Pythonu:

def pozdrav(): print("Ahoj světe!") pozdrav()

Klíčové slovo def definuje novou funkci s názvem greet. Třetí řádek kódu vyvolá funkci, která provede kód uvnitř funkce.

Jak volat funkci v Pythonu: The Ultimate Guide

Řádek printv kódu výše je také funkcí. Pokud však pracujete v prostředí Pythonu 2, je definováno jako příkaz. Později, v Pythonu 3, byl změněn z příkazu na funkci.

Parametry a argumenty

Parametry jsou zástupné symboly v definici funkce, zatímco argumenty jsou hodnoty předané při volání funkce.

Chcete-li zadat parametry, zahrňte je do závorek definice funkce a oddělte je čárkami, pokud existuje více parametrů. Když voláte funkci, poskytujete vstupní hodnoty zvané argumenty. Následující příklad ukazuje definování funkce, která přebírá dva parametry:

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

Příkaz return v těle funkce vrátí sečtení dvou argumentů, které jsou do něj předány. Můžete si to představit jako kalkulačku, kde zadáváte hodnoty a na oplátku získáte požadovaný výsledek.

Po definování funkce ji můžeme zavolat s argumenty dle vlastního výběru.

add_numbers(3, 5)

Jak volat funkci v Pythonu: The Ultimate Guide

Argument kwargů

kwargs je zkratka pro „argumenty klíčových slov“ v Pythonu. Umožňuje vám rozšířit flexibilitu funkce tím, že umožňuje volajícímu zadat libovolný počet argumentů klíčových slov při volání funkce. Argumenty klíčového slova jsou předány funkci jako slovník.

V definici funkce můžete použít **syntaxi s dvojitou hvězdičkou před názvem parametru k přijetí argumentů klíčových slov.

def my_function(**kwargs): pro klíč, hodnota v kwargs.items(): print(f"{key} = {value}") my_function(a=1, b=2, c=3)

V tomto příkladu kwargs bude slovník obsahující argumenty klíčových slov předané funkci. Výstup je zobrazen na obrázku níže:

Jak volat funkci v Pythonu: The Ultimate Guide

Volání funkce

Volání funkce znamená spuštění kódu uvnitř těla funkce. V Pythonu existují čtyři typy volání funkcí:

  • Volání základní funkce
  • Volání s pozičními argumenty
  • Volání s argumenty klíčových slov

Volání základní funkce

Volání základní funkce vyvolá funkci bez předání jakýchkoli argumentů do funkce. Po definování funkce ji můžete volat pomocí jejího názvu následovaného závorkami.

Pokud funkce nebere žádné argumenty, závorky budou prázdné. Níže uvedený kód je příkladem základní funkce.

def welcome_message(): print("Vítejte v LuckyTemplates!") welcome_message()

Spuštěním výše uvedeného kódu získáte následující výstup:

Jak volat funkci v Pythonu: The Ultimate Guide

Poziční argumenty

Poziční argumenty jsou nejběžnějším typem argumentů a jsou předány funkci ve stejném pořadí, v jakém jsou určeny. Následuje příklad volání funkce s pozičními argumenty:

def welcome_message(name): print(f"Vítejte v LuckyTemplates, {name}!") welcome_message("John")

Ve výše uvedeném příkladu welcome_message()má funkce jeden argument, name. Když tuto funkci zavoláte s argumentem John, vytiskne se zpráva vedle názvu.

Výše uvedený kód poskytuje následující výstup:

Jak volat funkci v Pythonu: The Ultimate Guide

Argumenty klíčových slov

Dalším způsobem, jak předat argumenty funkci, je použití klíčových slov argumenty. Argumenty klíčových slov vám umožňují zadat název parametru spolu s jeho hodnotou, čímž se kód stane čitelnějším a sníží se pravděpodobnost předání argumentů ve špatném pořadí. 

Níže uvedený příklad používá k volání welcome_messagefunkce argumenty klíčových slov:

def welcome_message(name, message='Vítejte v LuckyTemplates!'): print(zpráva, jméno) welcome_message(name='Alice', message='Dobré ráno')

V tomto příkladu jsme definovali funkci welcome_message(), která má dva parametry, namea message. Parametr zprávy má výchozí argument Welcome to LuckyTemplates!Při volání funkce používáme argumenty klíčových slov k předání hodnoty John, výsledkem je výstupWelcome to LuckyTemplates! John.

Jak volat funkci v Pythonu: The Ultimate Guide

Návratové hodnoty

Při práci s funkcemi budete často chtít vrátit výsledek operací v těle vaší funkce. Návratové hodnoty umožňují funkci poslat výsledek zpět volajícímu. Když pochopíte, jak pracovat s jednou a více návratovými hodnotami, můžete zlepšit funkčnost svých programů Python.

Jedna návratová hodnota

Jedna funkce návratové hodnoty vrací jednu hodnotu z operací ve funkci.

Níže je uveden příklad funkce jediné návratové hodnoty:

def get_greeting(name): return "Dobrý den, " + jméno + "!" pozdrav = get_greeting("Alice") tisk (pozdrav)

Ve výše uvedeném příkladu funkce get_greetingpřevezme jméno, protože jej argument funkce zkompiluje a vrátí přizpůsobený pozdrav. Vrácená hodnota se pak uloží do proměnné pozdrav a vytiskne se do konzole.

Jak volat funkci v Pythonu: The Ultimate Guide

Více návratových hodnot

Občas budete muset vrátit více než jednu hodnotu z funkce v Pythonu. Chcete-li toho dosáhnout, můžete k zabalení vrácených hodnot použít n-tici nebo seznam.

Následuje příklad funkce více návratových hodnot v programovacím jazyce Python.

def get_name_and_age(): return ("John", 30) jméno, věk = get_name_and_age() print(name) print(age)

Jak volat funkci v Pythonu: The Ultimate Guide

V tomto příkladu get_name_and_ageje funkce, která vrací n-tici se dvěma hodnotami: a name a an age.

Můžete také vrátit . Níže uvedená funkce ukazuje návratovou hodnotu seznamu z funkce.

def vypočítat_oblasti(výška, šířka): return [výška * šířka, (výška * šířka) / 2] plocha, plocha_úhelníku = výpočtová_plocha(10, 5) tisk(oblast) tisk(oblast_trojúhelníku)

Jak volat funkci v Pythonu: The Ultimate Guide

V tomto případě funkce calculate_areaspřevezme dva argumenty, heighta widtha vrátí seznam obsahující obsah obdélníku a obsah trojúhelníku.

Předávání funkcí Pythonu jako argumentů

Python umožňuje předávat funkce jako argumenty jiným funkcím. Když funkce přijímá jinou funkci jako argument, označuje se jako funkce vyššího řádu.

Níže uvedený kód je příkladem předání funkce jiné funkci v Pythonu:

def square(x): return x * x def double(x): return x * 2 def apply_func(func, x): return func(x) výsledek = apply_func(čtverec, 5)

Jak volat funkci v Pythonu: The Ultimate Guide

Vnořené funkce

Vnořené funkce jsou funkce definované v rámci jiné funkce, známé také jako vnitřní funkce. Ty mohou být užitečné při vytváření uzávěrů a modulárního kódu. 

Chcete-li vytvořit vnořenou funkci, jednoduše definujte funkci v jiné funkci:

def vnější_funkce(x, y): def vnitřní_funkce(z): návrat x + y + z výsledek = vnitřní_funkce(3) návrat výsledek # Volání vnější funkce print(vnější_funkce(1, 2))

Ve výše uvedeném příkladu je vnitřní_funkce definována v rámci vnější_funkce. Vnitřní funkce má přístup k proměnným vnější funkce, což jí umožňuje provádět s nimi operace.

Jak volat funkci v Pythonu: The Ultimate Guide

Funkce lambda

Funkce lambda, známé také jako anonymní funkce, představují způsob, jak v Pythonu vytvořit malé funkce pro jednorázové použití. V projektech datové vědy budete často pracovat s funkcemi Lambda pro vytváření efektivních datových struktur a kanálů.

Chcete-li vytvořit funkci lambda, můžete použít klíčové slovo lambda následované seznamem argumentů, dvojtečkou a poté výrazem. Výraz je to, co funkce lambda vrátí, jakmile je zavolána. Následuje příklad funkce lambda v Pythonu:

add = lambda a, b: a + b výsledek = add(3, 4) tisk (výsledek) # Výstup: 7

Ve výše uvedeném příkladu jsme vytvořili funkci lambda, která bere dva argumenty ( a a b) a vrací jejich součet. Tuto lambda funkci jsme přiřadili proměnné nazvané add.

Jak volat funkci v Pythonu: The Ultimate Guide

Lambda může být užitečná v následujících scénářích:

  • Jako argumenty pro funkce vyššího řádu, jako je map(), filter() a sort().
  • Jako klíčové funkce při řazení seznamů nebo slovníků.

Následující příklad ukazuje použití funkce filter() vyššího řádu s lambda:

čísla = [1, 2, 3, 4, 5, 6, 7, 8, 9] sudá_čísla = seznam(filtr(lambda x: x % 2 == 0, čísla)) tisk(sudá_čísla) # Výstup: [2, 4, 6, 8]


V tomto příkladu jsme použili funkci lambda k definování kritérií filtrování pro funkci filter(). Funkce lambda zkontroluje, zda je číslo sudé, a funkce filter() vrátí nový seznam obsahující pouze sudá čísla.

Jak volat funkci v Pythonu: The Ultimate Guide

Chcete-li vidět příklad toho, jak mohou být funkce užitečné v různých scénářích datové vědy, podívejte se na video uvedené níže:

Rekurze

Rekurze je technika v programování, kde funkce volá sama sebe. To může být užitečný způsob, jak vyřešit složité problémy jejich rozdělením na menší, identické dílčí problémy.

Při vytváření rekurzivní funkce musíte mít na paměti dvě věci: základní případ a rekurzivní případ. 

  • Základní případ je podmínka, která zastaví rekurzi
  • Rekurzivní případ je případ, kdy funkce volá sama sebe. Rekurzivní případ funguje jako iterátor funkce

Následující příklad ukazuje rekurzivní funkce v Pythonu:

def factorial(n): if n == 1: return 1 return n * factorial(n - 1) factorial(5)

V tomto příkladu je základní případ when n == 1, a funkce vrací 1. Rekurzivní případ nastane, když n není rovno 1 a funkce volá sama sebe pomocí n - 1.

Jak volat funkci v Pythonu: The Ultimate Guide

Běžné chyby a odstraňování problémů

Pokud jste začínající programátor, často narazíte na chyby při implementaci funkcí, jako jsou rekurzivní a lambda funkce. Následující části zdůrazňují několik běžných chyb a tipy pro odstraňování problémů, které vám pomohou je efektivně vyřešit.

1. TypeError: chybí požadovaný argument : K této chybě dochází, když nezadáte správný počet argumentů, které funkce očekává.

def my_function(fname, lname): print(fname, lname) # Správné volání my_function("John", "Doe") # Vyvolá chybu my_function("John")

Jak volat funkci v Pythonu: The Ultimate Guide

Chcete-li tuto chybu opravit, ujistěte se, že své funkci předáváte správný počet argumentů.

2. TypeError: nepodporovaný typ operandu . K této chybě může dojít, když se pokoušíte použít operátor s nekompatibilními typy.

def add_number(a, b): return a + b # Správný výsledek volání = add_number(5, 3) print(result) # Vyvolá chybu kvůli nesprávným argumentům result = add_number("5", 3) print(result)

Jak volat funkci v Pythonu: The Ultimate Guide

Chcete-li tuto chybu opravit, zkontrolujte, zda vaše funkce pracují se správnými datovými typy, a v případě potřeby zvažte použití přetypování

3. NameError: název 'název_funkce' není definován : Tato chyba naznačuje, že funkce nebyla definována před jejím voláním. 

# Správná objednávka def pozdrav(): print("Dobrý den!") pozdrav() # Nesprávná objednávka sbohem() def sbohem(): print("Sbohem!")

Jak volat funkci v Pythonu: The Ultimate Guide

Chcete-li tuto chybu opravit, ujistěte se, že je vaše funkce správně definována a že ji voláte po její definici.

Závěr

Následující body shrnují klíčové aspekty volání funkcí v Pythonu a pomohou vám upevnit vaše porozumění:

  • Chcete-li volat funkci, použijte název funkce následovaný závorkami (např. function_name()).
  • Pokud funkce přijímá argumenty, vložte je do závorek (např. function_name(arg1, arg2)).
  • Pomocí klíčového slova def můžete vytvořit své vlastní funkce, které definují rozsah funkce a jakékoli požadované argumenty.
  • Při volání funkce, která vrací hodnotu, můžete výsledek přiřadit proměnné pro pozdější použití (např. result = function_name(args)).

Vytvoření tabulky data v LuckyTemplates

Vytvoření tabulky data v LuckyTemplates

Zjistěte, proč je důležité mít vyhrazenou tabulku s daty v LuckyTemplates, a naučte se nejrychlejší a nejefektivnější způsob, jak toho dosáhnout.

LuckyTemplates Mobile Reporting Tipy a techniky

LuckyTemplates Mobile Reporting Tipy a techniky

Tento stručný návod zdůrazňuje funkci mobilního hlášení LuckyTemplates. Ukážu vám, jak můžete efektivně vytvářet přehledy pro mobily.

Profesionální servisní analytické zprávy v LuckyTemplates

Profesionální servisní analytické zprávy v LuckyTemplates

V této ukázce LuckyTemplates si projdeme sestavy ukazující profesionální analýzy služeb od firmy, která má více smluv a zákaznických vztahů.

Aktualizácie Microsoft Power Platform | Microsoft Ignite 2021

Aktualizácie Microsoft Power Platform | Microsoft Ignite 2021

Pozrite si kľúčové aktualizácie pre Power Apps a Power Automate a ich výhody a dôsledky pre platformu Microsoft Power Platform.

Bežné funkcie SQL: Prehľad

Bežné funkcie SQL: Prehľad

Objavte niektoré bežné funkcie SQL, ktoré môžeme použiť, ako napríklad reťazec, dátum a niektoré pokročilé funkcie na spracovanie alebo manipuláciu s údajmi.

Vytvoření šablony LuckyTemplates: Průvodce a tipy

Vytvoření šablony LuckyTemplates: Průvodce a tipy

V tomto tutoriálu se naučíte, jak vytvořit dokonalou šablonu LuckyTemplates, která je nakonfigurována podle vašich potřeb a preferencí.

Parametry pole a malé násobky v LuckyTemplates

Parametry pole a malé násobky v LuckyTemplates

V tomto blogu si ukážeme, jak vrstvit parametry pole s malými násobky, abychom vytvořili neuvěřitelně užitečné přehledy a vizuály.

LuckyTemplates Rank a vlastní seskupení

LuckyTemplates Rank a vlastní seskupení

V tomto blogu se dozvíte, jak používat funkce hodnocení LuckyTemplates a vlastní seskupování k segmentaci ukázkových dat a jejich seřazení podle kritérií.

Zobrazení kumulativního součtu pouze do určitého data v LuckyTemplates

Zobrazení kumulativního součtu pouze do určitého data v LuckyTemplates

V tomto tutoriálu se budu zabývat konkrétní technikou, jak zobrazit kumulativní součet pouze do určitého data ve vašich vizuálech v LuckyTemplates.

Bullet Charts: Pokročilé vlastní vizuální prvky pro LuckyTemplates

Bullet Charts: Pokročilé vlastní vizuální prvky pro LuckyTemplates

Naučte se vytvářet a přizpůsobovat Bullet grafy v LuckyTemplates, které se používají hlavně pro měření výkonu oproti cílovým nebo předchozím rokům.