Přejít na hlavní obsah

Postupy a funkce v krajtě-co je odlišuje?

  • Bohumil Beránková
  • Postupy

V programování v jazyce Python se velmi často setkáváme s termíny "postup"a " funkce". Ale jak se od sebe liší? V tomto článku rozebereme hlavní rozdíly mezi postupy a funkcemi v Pythonu.

První věc, kterou je třeba poznamenat, je, že postupy i funkce jsou podprogramy, tedy určité samostatné bloky kódu, které lze vyvolat z jiných částí programu. Ale rozdíl mezi nimi je, že funkce vracejí nějakou hodnotu a postupy ne.

Funkce v Pythonu se obecně používají k provádění některých výpočtů a návratu výsledku. Mohou přijmout některé argumenty, které jsou jim předány při volání, a hlavním úkolem funkce je zpracovat tyto argumenty a vrátit výsledek výpočtu. Funkce nám tedy umožňují automatizovat opakující se akce a získávat hodnoty, které potřebujeme.

Postupy v Pythonu na rozdíl od funkcí mohou provádět některé činnosti, ale nevracejí žádný výsledek. Postupy lze použít k provádění některých operací, práci s daty nebo interakci s vnějším světem. Mohou změnit globální proměnné a stav programu.

Klíčové rozdíly postupů od funkcí v krajtě

Při programování v jazyce Python je často otázkou, kdy používat postupy a kdy funkce. Rozdíly mezi postupy a funkcemi spočívají v jejich hlavním cíli a dostupnosti rostoucí hodnoty.

Hlavním rozdílem mezi postupy a funkcemi je přítomnost rostoucí hodnoty. Postup provádí některé akce a nevrací žádný výsledek, zatímco funkce vrací jednu nebo více hodnot.

Druhým klíčovým rozdílem je účel použití postupů a funkcí. Postupy se používají k seskupování a organizaci opakujících se operací, zjednodušují kód programu a činí jej čitelnějším. Funkce zase mohou provádět i opakované operace, ale jejich hlavním cílem je výpočet výsledku a jeho zvýšení.

Třetím rozdílem je dostupnost rostoucí hodnoty. V případě funkcí je možné získat hodnotu, kterou obnoví přiřazením nové proměnné nebo předáním jiné funkce jako argument. Postupy nemohou být použity tímto způsobem, protože nezvyšují hodnoty.

Nakonec je třeba poznamenat, že postupy a funkce v krajtě jsou deklarovány pomocí klíčových slov "def". Při oznámení postupu je však za jménem a závorkou uvedeno dvojtečka a při oznámení funkce je obnovitelná hodnota uvedena za dvojtečkou.

Pochopení rozdílu mezi postupy a funkcemi vám tedy pomůže vybrat správný způsob, jak uspořádat kód ve svém programu v Pythonu a efektivně jej používat.

Oblast viditelnosti

V postupech, známých také jako podprogramy, jsou proměnné deklarované v rámci postupu viditelné pouze uvnitř tohoto postupu. Jsou místní proměnné a nemohou být dostupné v jiných částech programu. To umožňuje izolovat proměnné v rámci postupu, aby se předešlo konfliktům a chybám spojeným s pojmenováním.

Na druhou stranu funkce v Pythonu mají svou vlastní oblast viditelnosti, ale mohou mít také přístup k proměnným uvnitř volajícího kódu. Tyto proměnné se nazývají globální proměnné. To dává funkcím možnost používat proměnné zvenčí, což usnadňuje přenos dat mezi různými částmi programu.

Kromě toho mohou mít funkce také své vlastní místní proměnné, které jsou viditelné pouze uvnitř funkce a nejsou dostupné pro jiné části programu. To umožňuje funkcím manipulovat s daty bez ovlivnění proměnných ve volajícím kódu a provádět změny pouze ve své oblasti viditelnosti.

Vrácená hodnota

Postup je blok kódu, který provádí určité akce, ale nevrací žádnou hodnotu. Může měnit globální proměnné nebo mít vedlejší účinky, ale nevrací výsledek své práce.

Aby funkce mohla vrátit hodnotu, musí použít klíčové slovo "return". Když výkon programu dosáhne příkazu "return", funkce vrátí uvedenou hodnotu a ukončí její provádění.

Příklad použití funkce s vrácenou hodnotou:

def multiply(a, b): return a * B result = multiply(5, 3) print (result) # 15

V uvedeném příkladu funkce multiply přijímá dva argumenty a vrací jejich součin. Hodnota vrácená funkcí je uložena v proměnné result a může být použita v dalším kódu.

Použití parametrů

Při oznámení postupu krajta neuvádí parametry v závorkách, například:

  • def my_procedure():
  • # kód postupu

V rámci postupu lze pomocí globálních proměnných pracovat s daty.

Na rozdíl od postupů přijímají funkce v krajtě parametry v závorkách při oznámení. Například:

  • def my_function(param1, param2):
  • # kód funkce
  • return výsledek

Funkce vrací výsledek pomocí klíčového slova return .

Použití parametrů umožňuje přenášet různé hodnoty do postupů nebo funkcí a provádět s nimi různé operace v závislosti na přenesených parametrech. Můžete například přenášet čísla a provádět s nimi matematické operace nebo přenášet řádky a provádět s nimi operace textu.

Parametry mohou být také volitelné, to znamená, že funkce nebo postup mohou fungovat i bez nich. Za tímto účelem lze při oznámení funkce nebo postupu přiřadit parametru výchozí hodnotu. Například:

  • def my_function(param1=10):
  • # kód funkce
  • return výsledek

V takovém případě, pokud není při volání funkce zadána možnost, bude použita její výchozí hodnota.

Použití parametrů v krajtě umožňuje psát flexibilní a opakovaně použitelný kód a také usnadňuje jeho pochopení a testování.