Jak volat funkci v Python (Příklad)

V čem je Funkce Python?

A Funkce v Python je kus kódu, který se spustí, když se na něj odkazuje. Používá se k použití kódu na více než jednom místě v programu. Nazývá se také metoda nebo postup. Python poskytuje mnoho vestavěných funkcí, jako je print(), input(), kompilace(), exec(), atd., ale také dává svobodu vytvářet své vlastní funkce.

Jak definovat a volat funkci v Python

Funkce v Python je definován "def" příkaz následovaný názvem funkce a závorkami ( () )

Příklad:

Definujme funkci pomocí příkazu ” def func1():” a funkci zavolejte. Výstupem funkce bude „Učím se Python funkce".

Definujte a volejte funkci v Python

Funkce print func1() volá naše def func1(): a vytiskne příkaz “ učím se Python funkce Žádná."

Existuje soubor pravidel Python definovat funkci.

  • Jakékoli argumenty nebo vstupní parametry by měly být umístěny v těchto závorkách
  • První příkaz funkce může být volitelný řetězec příkazu-docstring nebo dokumentační řetězec funkce
  • Kód v každé funkci začíná dvojtečkou (:) a měl by být odsazen (mezera)
  • Příkaz return (výraz) ukončí funkci a volitelně předá hodnotu zpět volajícímu. Příkaz return bez argumentů je stejný jako příkaz return None.

Význam odsazení (mezera) v Python

Než se seznámíme Python funkcí, je důležité, abychom rozuměli pravidlu odsazení, které se má deklarovat Python funkce a tato pravidla se vztahují na další prvky Python stejně jako deklarování podmínek, smyček nebo proměnných.

Python následuje konkrétní styl odsazení pro definování kódu, protože Python funkce nemají žádný explicitní začátek nebo konec jako složené závorky k označení začátku a konce funkce, musí se spoléhat na toto odsazení. Zde si vezmeme jednoduchý příklad s příkazem „print“. Když napíšeme funkci „print“ přímo pod def func 1 (): Zobrazí se „chyba odsazení: očekává se odsazený blok".

Definujte a volejte funkci v Python

Nyní, když přidáte odsazení (mezera) před funkci „tisk“, měla by se vytisknout podle očekávání.

Definujte a volejte funkci v Python

K úspěšnému fungování vašeho kódu stačí alespoň jedna odrážka. Ale jako osvědčený postup je vhodné ponechat asi 3-4 odrážky pro volání vaší funkce.

Je také nutné, abyste při deklarování odsazení museli zachovat stejné odsazení pro zbytek kódu. Například na níže uvedeném snímku obrazovky, když nazýváme jiný příkaz „stále in func1“ a když není deklarován přímo pod prvním příkazem pro tisk, zobrazí se chyba odsazení „neodsazení neodpovídá žádné jiné úrovni odsazení.“

Definujte a volejte funkci v Python

Nyní, když použijeme stejné odsazení pro oba příkazy a zarovnáme je na stejný řádek, dává očekávaný výstup.

Definujte a volejte funkci v Python

Jak funkce vrátí hodnotu?

Vraťte příkaz dovnitř Python určuje, jakou hodnotu vrátit volajícímu funkce. Pochopme to na následujícím příkladu

Krok 1) Funkce nic nevrací

Zde – vidíme, kdy se funkce „nevrací“. Například chceme druhou mocninu 4 a při spuštění kódu by měla dát odpověď „16“. Což dává, když jednoduše použijeme kód „tisk x*x“, ale když zavoláte funkci „tisk čtverečku“, jako výstup dá „Žádný“. Je to proto, že když funkci zavoláte, nedojde k rekurzi a odpadne konec funkce. Python vrátí „None“ pro selhání konce funkce.

Návratová hodnota funkce

Krok 2) Nahraďte příkaz print příkazem přiřazení

Aby to bylo jasnější, nahradíme příkaz print příkazem přiřazení. Zkontrolujeme výstup.

Návratová hodnota funkce

Když spustíte příkaz „print square (4)“, ve skutečnosti vrátí hodnotu objektu, protože zde nemáme žádnou konkrétní funkci, kterou bychom mohli spustit, vrátí „None“.

Krok 3) Použijte funkci 'návrat' a spusťte kód

Nyní zde uvidíme, jak získat výstup pomocí příkazu „return“. Když použijete funkci „návrat“ a provedete kód, na výstupu bude „16“.

Návratová hodnota funkce

Krok 4) Spusťte příkaz 'print square'

Funkce v Python jsou samy o sobě objektem a objekt má nějakou hodnotu. Zde uvidíme jak Python zachází s předmětem. Když spustíte příkaz „tisk čtverečku“, vrátí hodnotu objektu. Protože jsme nepředali žádný argument, nemáme žádnou konkrétní funkci, kterou bychom zde mohli spustit, vrací výchozí hodnotu (0x021B2D30), což je umístění objektu. V praxi Python program, pravděpodobně to nikdy nebudete muset dělat.

Návratová hodnota funkce

Argumenty ve funkcích

Argument je hodnota, která je předána funkci při jejím volání.

Jinými slovy na straně volání je to argument a na straně funkce je to parametr.

Podívejme se jak Python Args funguje -

Krok 1) Argumenty jsou deklarovány v definici funkce. Při volání funkce můžete předat hodnoty pro tyto argumenty, jak je uvedeno níže

Argumenty ve funkcích

Krok 2) Chcete-li deklarovat výchozí hodnotu argumentu, přiřaďte mu hodnotu v definici funkce.

Argumenty ve funkcích

Příklad: x nemá žádné výchozí hodnoty. Výchozí hodnoty y=0. Když při volání funkce násobení dodáme pouze jeden argument, Python přiřadí zadanou hodnotu x při zachování hodnoty y=0. Proto násobek x*y=0

definovat a zavolat funkci Python

Krok 3) Tentokrát změníme hodnotu na y=2 místo výchozí hodnoty y=0 a vrátí výstup jako (4×2)=8.

Argumenty ve funkcích

Krok 4) Můžete také změnit pořadí, ve kterém lze argumenty předávat Python. Zde jsme obrátili pořadí hodnot x a y na x=4 a y=2.

Argumenty ve funkcích

Krok 5) Více argumentů lze také předat jako pole. Zde v příkladu voláme více argumentů (1,2,3,4,5) voláním funkce (*args).

Příklad: Vícenásobné argumenty jsme deklarovali jako číslo (1,2,3,4,5), když voláme funkci (*args); vytiskne výstup jako (1,2,3,4,5)

Argumenty ve funkcích

Tipy:

  • In Python 2.7. přetížení funkcí není podporováno v Python. Function Overloading je schopnost vytvořit více metod stejného jména s různou implementací. Funkce Overloading je plně podporována v Python 3
  • Mezi metodami a funkcemi je docela zmatek. Metody v Python jsou spojeny s instancemi objektu, zatímco funkce nejsou. Když Python volá metodu, sváže první parametr tohoto volání s odkazem na příslušný objekt. Jednoduše řečeno, samostatná funkce v Python je „funkce“, zatímco funkce, která je atributem třídy nebo instance, je „metodou“.

Zde je kompletní Python 3 kód

#define a function
def func1():
   print ("I am learning Python function")
   print ("still in func1")
   
func1()

def square(x):
  	return x*x
print(square(4))

def multiply(x,y=0):
	print("value of x=",x)
	print("value of y=",y)
    
	return x*y
  
print(multiply(y=2,x=4))

Zde je kompletní Python 2 kód

#define a function
def func1():
   print " I am learning Python function"
   print " still in func1"
   
func1()

def square(x):
  	return x*x
print square(4)

def multiply(x,y=0):
	print"value of x=",x
	print"value of y=",y
    
	return x*y
  
print multiply(y=2,x=4)

Shrnutí

Funkce v Python je část opakovaně použitelného kódu, který se používá k provedení jedné související akce. V tomto článku uvidíme

  • Funkce definovaná def prohlášení
  • Blok kódu v každé funkci začíná dvojtečkou (:) a měl by být odsazen (mezera)
  • Jakékoli argumenty nebo vstupní parametry by měly být umístěny v těchto závorkách atd.
  • Po deklaraci funkce by před kódem měla být ponechána alespoň jedna odrážka
  • Stejný styl odsazení by měl být zachován v celém kódu ve funkci def
  • U osvědčených postupů jsou tři nebo čtyři odrážky považovány za nejlepší před prohlášením
  • K vrácení hodnot do volání funkce můžete použít příkaz „return“.
  • Python vypíše náhodnou hodnotu jako (0x021B2D30), když argument není dodán volající funkci. Příklad „funkce tisku“.
  • Na straně volání je to argument a na straně funkce je to parametr
  • Výchozí hodnota v argumentu – Když zadáme pouze jeden argument při volání funkce násobení nebo jakékoli jiné funkce, Python standardně přiřadí druhý argument
  • Python umožňuje také obrátit pořadí argumentu