# specifické
def vynasob_dvema(a: float) -> float:
return a * 2
# obecné
def vynasob(a: float, b: float) -> float:
return a * b
Programování v GIS 2
2024-04-15
většina jazyků nestojí striktně na jednom paradigmatu, ale využívá jich vícero
imperativní (kód popisuje, co se bude dít)
deklarativní (kód popisuje požadovaný výsledek)
Pozor
Proměnné s výchozí hodnotou musí být až za proměnnými bez výchozí hodnoty. Nelze mít proměnnou bez výchozí hodnoty za proměnnou s výchozí hodnotou funkce by nebyla validní a Python by vykazoval chybu při snaze takovou funkce načíst.
None
self
(označení instance objektu)_atribut
), tyto metody a atributy nebudou nápovědy v IDE navrhnovat a programátor by se měl ideálně jejich použití vyhnout__init__
, __str__
, __add__
, __eq__
a další) a jejich použitíclass Zamestnanec:
def __init__(self, jmeno: str, hodinovy_plat: float):
self.jmeno = jmeno
self._hodinovy_plat = hodinovy_plat
def plat(self) -> float:
return self._hodinovy_plat
def nastav_plat(self, hodinovy_plat: float) -> None:
self._hodinovy_plat = hodinovy_plat
def zvys_plat(self, navyseni_o: float) -> None:
self._hodinovy_plat += navyseni_o
def mesicni_plat(self, odpracovanych_hodin: float) -> float:
return self._hodinovy_plat * odpracovanych_hodin
@property
def denni_plat(self) -> float:
return self._hodinovy_plat / 8
Materiály dostupné: https://jancaha.github.io/vsb-vyuka/