Výukový program Python

Python HOME Úvod do Pythonu Začínáme s Pythonem Syntaxe Pythonu Komentáře Pythonu Proměnné Pythonu Datové typy Pythonu Python čísla Python Casting Python řetězce Python Booleans Operátoři Pythonu Seznamy Pythonu Python n-tice Sady Pythonu Slovníky Pythonu Python If...Else Python While Loops Python pro smyčky Funkce Pythonu Python Lambda Pole Python Třídy/objekty Pythonu Dědičnost Pythonu Iterátory Pythonu Rozsah Pythonu Moduly Pythonu Data v Pythonu Matematika Pythonu Python JSON Python RegEx Python PIP Zkuste Python... Kromě Vstup uživatele Pythonu Formátování řetězců v Pythonu

Manipulace se soubory

Práce se soubory Python Soubory pro čtení Pythonu Python Zápis/Vytváření souborů Python mazat soubory

Moduly Pythonu

Výukový program NumPy Návod Panda Výukový program Scipy

Python Matplotlib

Úvod do Matplotlib Matplotlib Začínáme Matplotlib Pyplot Vykreslování Matplotlib Markery Matplotlib Linka Matplotlib Štítky Matplotlib Matplotlib Grid Matplotlib Subplots Matplotlib Scatter Bary Matplotlib Histogramy Matplotlib Koláčové grafy Matplotlib

Strojové učení

Začínáme Střední střední režim Standardní odchylka Percentil Distribuce dat Normální distribuce dat Bodový diagram Lineární regrese Polynomiální regrese Vícenásobná regrese Měřítko Vlak/test Rozhodovací strom

Python MySQL

MySQL Začínáme Vytvořit databázi MySQL Vytvořit tabulku MySQL Vložit MySQL Vyberte MySQL Kde MySQL Pořadí MySQL podle Smazat MySQL MySQL Drop Table Aktualizace MySQL Limit MySQL Připojte se k MySQL

Python MongoDB

MongoDB Začněte Vytvořit databázi MongoDB Vytvořit sbírku MongoDB Vložení MongoDB Najít MongoDB Dotaz MongoDB Řazení MongoDB Smazat MongoDB MongoDB Drop Collection Aktualizace MongoDB Limit MongoDB

Reference Pythonu

Přehled Pythonu Vestavěné funkce Pythonu Metody pythonských řetězců Metody seznamu v Pythonu Metody slovníku Python Metody Python Tuple Metody sady Python Metody souborů Python Klíčová slova Pythonu Výjimky v Pythonu Slovník Pythonu

Reference modulu

Náhodný modul Modul požadavků Modul statistiky Matematický modul cMath modul

Jak na to Python

Odebrat duplikáty seznamu Obrátit řetězec Přidejte dvě čísla

Příklady Pythonu

Příklady Pythonu Kompilátor Pythonu Cvičení Python Pythonský kvíz Python certifikát

Funkce Pythonu


Funkce je blok kódu, který se spustí pouze tehdy, když je zavolán.

Do funkce můžete předávat data, známá jako parametry.

Funkce může jako výsledek vrátit data.


Vytvoření funkce

V Pythonu je funkce definována pomocí klíčového slova def :

Příklad

def my_function():
  print("Hello from a function")

Volání funkce

Chcete-li volat funkci, použijte název funkce následovaný závorkou:

Příklad

def my_function():
  print("Hello from a function")

my_function()

Argumenty

Informace lze předávat funkcím jako argumenty.

Argumenty jsou uvedeny za názvem funkce v závorkách. Můžete přidat tolik argumentů, kolik chcete, stačí je oddělit čárkou.

Následující příklad má funkci s jedním argumentem (fname). Když je funkce volána, předáme křestní jméno, které se používá uvnitř funkce k vytištění celého jména:

Příklad

def my_function(fname):
  print(fname + " Refsnes")

my_function("Emil")
my_function("Tobias")
my_function("Linus")

Argumenty jsou v dokumentaci Pythonu často zkráceny na args .



Parametry nebo argumenty?

Termíny parametr a argument lze použít pro stejnou věc: informace, které jsou předány funkci.

Z pohledu funkce:

Parametr je proměnná uvedená v závorkách v definici funkce.

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


Počet argumentů

Ve výchozím nastavení musí být funkce volána se správným počtem argumentů. To znamená, že pokud vaše funkce očekává 2 argumenty, musíte funkci volat se 2 argumenty, ne více a ne méně.

Příklad

Tato funkce očekává 2 argumenty a dostane 2 argumenty:

def my_function(fname, lname):
  print(fname + " " + lname)

my_function("Emil", "Refsnes")
Pokud se pokusíte volat funkci s 1 nebo 3 argumenty, dostanete chybu:

Příklad

Tato funkce očekává 2 argumenty, ale dostane pouze 1:

def my_function(fname, lname):
  print(fname + " " + lname)

my_function("Emil")

Svévolné argumenty, *args

Pokud nevíte, kolik argumentů bude vaší funkci předáno, přidejte *před název parametru v definici funkce znak.

Tímto způsobem funkce obdrží n-tici argumentů a podle toho může přistupovat k položkám:

Příklad

Pokud je počet argumentů neznámý, přidejte *před název parametru znak:

def my_function(*kids):
  print("The youngest child is " + kids[2])

my_function("Emil", "Tobias", "Linus")

Libovolné argumenty jsou v dokumentaci Pythonu často zkráceny na *args .


Argumenty klíčových slov

Můžete také posílat argumenty se syntaxí klíč = hodnota .

Tímto způsobem nezáleží na pořadí argumentů.

Příklad

def my_function(child3, child2, child1):
  print("The youngest child is " + child3)

my_function(child1 = "Emil", child2 = "Tobias", child3 = "Linus")

Fráze Argumenty klíčových slov se v dokumentaci Pythonu často zkracuje na kwargs .


Arbitrary Keyword Arguments, **kwargs

Pokud nevíte, kolik argumentů klíčového slova bude předáno vaší funkci, přidejte dvě hvězdičky: **před název parametru v definici funkce.

Tímto způsobem funkce obdrží slovník argumentů a může podle toho přistupovat k položkám:

Příklad

Pokud je počet argumentů klíčového slova neznámý, přidejte **před název parametru dvojnásobek:

def my_function(**kid):
  print("His last name is " + kid["lname"])

my_function(fname = "Tobias", lname = "Refsnes")

Arbitrary Kword Argumenty jsou v dokumentaci Pythonu často zkráceny na **kwargs .


Výchozí hodnota parametru

Následující příklad ukazuje, jak použít výchozí hodnotu parametru.

Pokud zavoláme funkci bez argumentu, použije výchozí hodnotu:

Příklad

def my_function(country = "Norway"):
  print("I am from " + country)

my_function("Sweden")
my_function("India")
my_function()
my_function("Brazil")

Předávání seznamu jako argumentu

Do funkce můžete odeslat libovolný datový typ argumentu (řetězec, číslo, seznam, slovník atd.) a bude s ním ve funkci zacházeno jako se stejným datovým typem.

Pokud například odešlete seznam jako argument, bude to stále seznam, když dosáhne funkce:

Příklad

def my_function(food):
  for x in food:
    print(x)

fruits = ["apple", "banana", "cherry"]

my_function(fruits)

Návratové hodnoty

Chcete-li, aby funkce vrátila hodnotu, použijte return příkaz:

Příklad

def my_function(x):
  return 5 * x

print(my_function(3))
print(my_function(5))
print(my_function(9))

Prohlášení o průjezdu

functiondefinice nemohou být prázdné, ale pokud z nějakého důvodu máte functiondefinici bez obsahu, vložte ji do passpříkazu, aby nedošlo k chybě.

Příklad

def myfunction():
  pass

Rekurze

Python také přijímá rekurzi funkce, což znamená, že definovaná funkce může volat sama sebe.

Rekurze je běžný matematický a programovací koncept. To znamená, že funkce volá sama sebe. To má tu výhodu, že můžete procházet daty a dosáhnout výsledku.

Vývojář by měl být s rekurzí velmi opatrný, protože může být docela snadné sklouznout k psaní funkce, která nikdy nekončí, nebo funkce, která využívá nadměrné množství paměti nebo výkonu procesoru. Pokud je však rekurze napsána správně, může být velmi účinným a matematicky elegantním přístupem k programování.

V tomto příkladu je tri_recursion() funkce, kterou jsme definovali, aby se sama volala ("recurse"). Jako data používáme proměnnou k, která se snižuje ( -1 ) pokaždé, když opakujeme. Rekurze končí, když podmínka není větší než 0 (tj. když je 0).

Novému vývojáři může chvíli trvat, než přijde na to, jak přesně to funguje, nejlepší způsob, jak to zjistit, je otestovat a upravit.

Příklad

Příklad rekurze

def tri_recursion(k):
  if(k > 0):
    result = k + tri_recursion(k - 1)
    print(result)
  else:
    result = 0
  return result

print("\n\nRecursion Example Results")
tri_recursion(6)

Otestujte se pomocí cvičení

Cvičení:

Vytvořte funkci s názvem my_function.

:
  print("Hello from a function")