Pomocí def (z angličtiny define) definujeme funkce a metody.
Definování funkcí v Pythonu
>>> def vypis_ahoj():
>>> print("Ahoj!")
>>> return
>>>
>>> vypis_ahoj()
Ahoj!
>>>
>>> def porovnej(a,b):
>>> if a > b:
>>> return 1
>>> elif a == b:
>>> return 0
>>> elif a < b:
>>> return -1
>>>
První funkce vypíše text "Ahoj!", není na tom nic složitého.
Druhá funkce má 2 vstupní parametry. Porovná je a pomocí return vrátí výslednou hodnotu. Jelikož je kontrola typů v Pythonu dynamická - probíhá za běhu, není nutné u parametrů udávat jejich typ, jako je tomu například v jazyku C. Musíme si ovšem dát pozor, s jakými proměnnými voláme funkci a jaké operace s nimi provádíme.
Definování metod tříd
def neslouží jen k definování globálních funkcí, ale také k definování metod tříd. Mějme třídu osoba:
>>> class osoba:Definování tříd a metod v Pythonu
... """Jednoducha ukazkova trida"""
... vyska = 5
... def vypis_vysku(self):
... print(self.vyska)
... return
...
>>>
Tímto způsobem jsme nadefinovali třídu osoba, její globální vlastnost vyska je implicitně 5 a její jediná metoda vypis_vysku, kupodivu vypíše výšku. Zajímavé na tomto příkladu je přístup ke globálním proměnným třídy před self, který obsahuje ukazatel na danou instanci třídy. Objekt této třídy vytvoříme následovně:
>>> jan = osoba()Objekty v pythonu a výpis __doc__ - dokumentační proměnné
>>> jan.vypis_vysku()
5
>>> jan.___doc___
'Jednoducha ukazkova trida'
Vytvořili jsme si instanci jan třídy osoba. Zavolali jsme metodu vypis_vysku.
Pomocí jan.__doc__ si můžeme nechat vypsat obsah dokumentační proměnné, jejíž obsah se nachází v definici třídy ohraničen zleva i zprava trojicí uvozovek """.
| < Předchozí | Další > |
|---|







