Co je funkce v programování?

Co je funkce v programování?

Často se setkáváte s kopírováním a vkládáním kódu k opětovnému použití v různých částech programu?





Pokud ano, můžete zvážit použití funkcí. Funkce jsou velmi výkonnou funkcí programovacích jazyků. Díky nim může být kód efektivnější, snáze čitelný a elegantní.





Co je funkce?

Funkce je blok kódu, který provádí úkol. Lze jej volat a znovu použít několikrát. Můžete předat informaci funkci a ta může odeslat informace zpět. Mnoho programovacích jazyků má vestavěné funkce, ke kterým máte přístup v jejich knihovně, ale můžete si také vytvářet vlastní funkce.





Když zavoláte funkci, program pozastaví aktuální program a spustí funkci. Funkce bude čtena shora dolů. Jakmile je funkce dokončena, program pokračuje v běhu tam, kde byl pozastaven. Pokud funkce vrátila hodnotu, bude tato hodnota použita tam, kde byla funkce volána.

Jak napíšete funkci?

Existuje mnoho různých způsobů zápisu funkcí. Přesná syntaxe bude záviset na jazyce, ve kterém programujete. Ukážeme si příklady v Pythonu, JavaScriptu a C ++, abychom předvedli řadu syntaxe programování.



Související: Proč programovací jazyky nemohou existovat bez funkcí

Prázdné funkce

První typ funkce, na který se podíváme, je prázdná funkce. To jednoduše znamená, že funkce nevrací hodnotu. K dokončení sady pokynů se používají prázdné funkce. V těchto příkladech se nazývá funkce, kterou jsme napsali ahoj funkce . Účelem funkce je výstup „Hello World“.





TIP: uveďte názvy funkcí, které vysvětlují, co dělají. Jak bude váš program složitější, bude snadnější spravovat funkce a číst kód.

Krajta





def helloFunction():
print('Hello World')
helloFunction()

Klíčové slovo def se v Pythonu používá k definování a vytváření funkce. Dále je název funkce. Pokyny na funkci následují na dalším řádku za dvojtečkou. Na prázdném prostoru záleží v Pythonu, nezapomeňte tedy odsadit veškerý kód, který má vaše funkce spouštět. Ve výše uvedeném příkladu funkce spustí jeden řádek kódu.

Vaše bystré oči si toho mohly všimnout tisk() je také funkcí, ale nazývá se jinak než naše funkce. Držte se této myšlenky právě teď, parametry funkcí a funkcí prozkoumáme později.

JavaScript

jak nainstalovat kodi na raspbian
function helloFunction(){
alert('Hello World!');
}
helloFunction();

V JavaScriptu klíčové slovo funkce slouží k vytváření funkcí. Dále máme název funkce. Jakýkoli kód, který spadá mezi složené závorky, se spustí při volání funkce.

Prázdné místo není v JavaScriptu důležité, ale je obvyklé odsadit kód ve funkci. Odsazení usnadňuje čtení kódu, což je velmi důležité, protože vaše programy jsou stále složitější.

Poznámka: Asi jako tisk() v předchozím příkladu, výstraha () je také funkce.

C ++

#include
using namespace std;
void helloFunction(){
cout << 'Hello World!';
}
int main(){
helloFunction();
return 0;
}

Funkce se v C ++ vytvářejí odlišně. Místo klíčového slova definujícího funkci první slovo popisuje typ dat, která funkce vrátí. V tomto případě naše funkce nevrací žádná data, takže data jsou neplatná. Dále máme název funkce. Podobně jako JavaScript je při volání funkce spuštěn veškerý kód mezi složenými závorkami. Podobně jako v JavaScriptu, prázdné místo neovlivňuje funkci, ale je dobrým zvykem.

Všimli jste si jiné funkce v kódu C ++? Ano, hlavní() je funkce. Když spustíte program C ++, automaticky zavoláte hlavní funkci. Když je hlavní funkce úspěšně dokončena, vrátí 0, protože opouští program, aby signalizovala, že při spuštění programu nedošlo k žádným chybám.

Funkce, které vyžadují hodnoty

Prázdné funkce jsou skvělé, pokud zjistíte, že píšete stejný kousek kódu znovu a znovu. Ale mohou být omezující. Jsou statické a nemění se. Vždy vyplňují stejné pokyny. Jedním ze způsobů, jak můžeme zvýšit jejich užitečnost, je předat funkci různé hodnoty.

Všimli jste si, že závorky následovaly názvy všech našich funkcí. V závorkách můžeme prohlásit, že data jsou potřebná ke spuštění naší funkce. Poté můžeme ve funkci použít data předaná naší funkci. Podívejme se znovu na předchozí příklady, ale tentokrát předáme frázi, kterou chceme mít na výstupu.

Krajta

def helloFunction(newPhrase):
print(newPhrase)
helloFunction('Our new phrase')

Nyní mezi závorkami naše funkce deklaruje, že ke spuštění potřebuje proměnnou. Pojmenovali jsme proměnnou nová fráze a nyní jej můžeme použít v naší funkci. Když funkci zavoláme, musíme předat požadované informace umístěním mezi závorky. Stejné změny byly provedeny v JavaScriptu.

JavaScript

function helloFunction(newPhrase){
alert(newPhrase);
}
helloFunction('Our new phrase');

C ++

jak používat iphone x
#include
using namespace std;
void helloFunction(string newPhrase){
cout << newPhrase;
}
int main(){
helloFunction('Our new Phrase');
return 0;
}

Naše funkce C ++ vyžadovala trochu více informací. Víme, že vaše funkce chce řetězcová data, ale to není dost dobré pro C ++. Při vytváření funkce musíte určit, jaký typ dat vaše funkce vyžaduje. Pokud neodesíláte správný typ dat, funkce vytvoří chybu.

Může se to zdát trochu otravné, ale přísné jazyky vám často mohou ušetřit bolesti hlavy. Pokud do JavaScriptu napíšete funkci, která vyžaduje celé číslo, ale číslo je odesláno jako řetězec, může vytvořit chybu, kterou je velmi těžké dohledat.

Související: 5 jazyků funkčního programování, které byste měli znát

Funkce, které vracejí hodnotu

Konečnou funkcí, kterou pokryjeme, je vrácení dat. To je zvláště cenné, pokud chcete data před použitím změnit. Ačkoli byste to mohli napsat inline, pokud budete mnohokrát používat stejné výpočty, jako je převod imperiální na metriku, může mít větší smysl psát to jako funkci. Náš příklad bude jednodušší. Naše funkce bude vyžadovat dvě celá čísla a vrátí součet.

Krajta

def addingFunction(a, b):
return a + b
print(addingFunction(2, 4))

V tomto případě naše funkce vyžaduje dvě proměnné místo jedné. Naznačujeme to oddělením názvů proměnných čárkou. Klíčové slovo vrátit se řekne funkci, aby vrátila následující data, v tomto případě 2 + 4 nebo 6. Voláme funkci uvnitř tisk() funkce.

Jakmile by se náš program dostal na tento řádek, pozastavil by se, spustil naši funkci a pak pokračoval, jako by přidání funkce (2, 4) byla ve skutečnosti jen vrácená hodnota 6.

JavaScript

Kód JavaScript je velmi podobný kódu Pythonu. Primárním rozdílem je, že funkce je volána v upozornění.

function addingFunction(a, b){
return a + b;
}
alert(addingFunction(2, 4));

C ++

#include
using namespace std;
int addingFunction(int a, int b){
return a + b;
}
int main(){
cout << addingFunction(2, 4) ;
return 0;
}

Kód C ++ běží podobně, ale jako obvykle vyžaduje trochu více informací. Nejprve musíme říci, jaký typ dat naše funkce vrátí. To uvidíte prázdné bylo změněno na int . To znamená, že místo vrácení žádných dat vrátí naše funkce celé číslo. Kromě toho je kód podobný kódu, který jsme již prozkoumali.

Spravujte své funkce

Zábavná věc na funkcích je, že funkce mohou volat jiné funkce. Mohou se dokonce nazývat! S velkou mocí ale přichází i velká zodpovědnost. Nezblázněte se při vytváření kódu s funkcemi, které volají další funkce, které volají ještě více funkcí.

Jak již bylo zmíněno, při každém volání funkce se program pozastaví, když funkci spustí. To znamená, že program je držen v aktivní paměti. Pokud zavoláte několik dalších funkcí, aniž byste je dokončili, používáte více aktivní paměti. Pokud si nedáte pozor, váš program se vám může vymknout z rukou.

Podíl Podíl tweet E-mailem Jak udržovat kód čistý pomocí zapouzdření objektu

Globální proměnné se mohou zdát jednoduché, ale často jsou příčinou tolika chyb. Zde je návod, jak zefektivnit kód pomocí zapouzdření.

Číst dále
Související témata
  • Programování
  • Programování
  • Funkcionální programování
O autorovi Jennifer Seaton(21 článků zveřejněno)

J. Seaton je vědecký spisovatel, který se specializuje na bourání složitých témat. Má doktorát z University of Saskatchewan; její výzkum se zaměřil na využití herního učení ke zvýšení zapojení studentů online. Když nepracuje, najdete ji při čtení, hraní videoher nebo zahradničení.

Více od Jennifer Seaton

Přihlaste se k odběru našeho zpravodaje

Připojte se k našemu zpravodaji a získejte technické tipy, recenze, bezplatné elektronické knihy a exkluzivní nabídky!

Kliknutím sem se přihlásíte k odběru