Funkce s volitelnými parametry

21. Funkce s volitelnými parametry#

Komplikovanější funkce mají často škálu parametrů a je nepříjemné si pamatovat jejich pozici, počet a pořadí. Řešením této nepříjemnosti mohou být funkce s volitelnými parametry.

21.1. Syntaxe pro funkce s volitelnými parametry#

Volitelné parametry se deklarují za povinnými parametry, mají přednastavenou hodnotu a na jejich pořadí nezáleží. Například následovně.

import numpy as np
def bod_na_parabole(x,a=1,b=0,c=0):
    """
    Funkce vrací funkční hodnotu kvadratické funkce 
    y = a*x**2+b*x+c
    v bodě x. Volitelnými parametry jsou koeficienty
    kvadratické funkce. Pokud nejsou volitelné parametry zadány,
    použije se funkce y = x**2.
    """
    vystup = a*x**2+b*x+c
    return vystup

print(bod_na_parabole(3, c=-1))
x = np.linspace(0,1,5)
print(bod_na_parabole(x, c=1))

První volání funkce vypočte funkční hodnotu funkce

\[y=x^2-1\]
v bodě \(x=3\).

Druhé volání vypočte funkční hodnotu funkce

\[y=x^2+1\]
v pěti bodech z intervalu mezi 0 a 1.

21.2. Úkol#

Sestavte definici funkce logisticky_rust s povinným parametrem udávajícím velikost populace a volitelnými parametry, udávajícími invazní parametr a nosnou kapacitu prostředí. Funkční předpis je

\[y = r x \left(1-\frac xK\right),\]
kde \(x\) je velikost populace, \(r\) je invazní parametr a \(K\) je nosná kapacita prostředí. Volitelný parametr, který nebude zadán, bude roven jedné.