Argumenty
V uživatelem definované funkce téma, jsme se dozvěděli o definování funkce a volat je. V opačném případě bude volání funkce mít za následek chybu. Zde je příklad.
výstup
Hello Monica, Good morning!
zde má funkce greet()
dva parametry.
protože jsme tuto funkci nazvali dvěma argumenty, běží hladce a nedostáváme žádnou chybu.,
pokud jej zavoláme s jiným počtem argumentů, interpret zobrazí chybovou zprávu. Níže je volání této funkce s jedním a bez argumentů spolu s jejich příslušnými chybovými zprávami.
>>> greet("Monica") # only one argumentTypeError: greet() missing 1 required positional argument: 'msg'
>>> greet() # no argumentsTypeError: greet() missing 2 required positional arguments: 'name' and 'msg'
proměnné funkce
až dosud měly funkce pevný počet argumentů. V Pythonu existují další způsoby, jak definovat funkci, která může mít variabilní počet argumentů.
tři různé formy tohoto typu jsou popsány níže.,
výchozí argumenty Pythonu
Funkční argumenty mohou mít výchozí hodnoty v Pythonu.
můžeme poskytnout výchozí hodnotu argumentu pomocí operátoru přiřazení (=). Zde je příklad.
Výstupní
Hello Kate, Good morning!Hello Bruce, How do you do?
V této funkci, parametr name
nemá výchozí hodnotu a je nutné (povinné) během hovoru.,
na druhé straně má parametr msg
výchozí hodnotu "Good morning!"
. Během hovoru je tedy volitelný. Pokud je k dispozici hodnota, přepíše výchozí hodnotu.
libovolný počet argumentů ve funkci může mít výchozí hodnotu. Jakmile však máme výchozí argument, všechny argumenty napravo musí mít také výchozí hodnoty.
to znamená, že nesplácené argumenty nemohou následovat výchozí argumenty., Například, pokud máme definovány funkce záhlaví výše jako:
def greet(msg = "Good morning!", name):
dostali Bychom chybu jako:
SyntaxError: non-default argument follows default argument
Python Klíčové slovo Argumenty
Při volání funkce s některé hodnoty, tyto hodnoty přiřazeny argumenty podle jejich polohy.
Python umožňuje volat funkce pomocí klíčových argumentů. Když voláme funkce tímto způsobem, lze změnit pořadí (pozici) argumentů. Následující volání na výše uvedené funkce jsou platné a produkují stejný výsledek.,
Jak vidíme, můžeme během volání funkce kombinovat poziční argumenty s argumenty klíčových slov. Musíme však mít na paměti, že argumenty klíčových slov musí následovat poziční argumenty.
mít poziční argument po argumentech klíčových slov bude mít za následek chyby. Například volání funkce takto:
greet(name="Bruce","How do you do?")
Bude mít za následek chybu:
SyntaxError: non-keyword arg after keyword arg
Python Libovolné Argumenty
Někdy, neznáme předem počet argumentů, které budou předány do funkce., Python nám umožňuje zvládnout tento druh situace pomocí volání funkcí s libovolným počtem argumentů.
v definici funkce používáme hvězdičku ( * ) před názvem parametru k označení tohoto druhu argumentu. Zde je příklad.
výstup
Hello MonicaHello LukeHello SteveHello John
zde jsme volali funkci s více argumenty. Tyto argumenty se zabalí do n-tice, než budou předány do funkce. Uvnitř funkce použijeme smyčkufor
pro načtení všech argumentů zpět.
Napsat komentář