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é.