seznam = [1, 2, 3]
slovnik = {"a": 1, "b": 2}
t = (1, 2, 3)Programování v GIS 2
2026-02-16
conda-forge)venv?venvvenv spravuje pouze Python balíčky instalované přes pipvenv = pouze Python balíčkyvenvpandas - polars je výrazně rychlejší implementace, novější, s lépe použitelnou syntaxí a čitelnějším kódemyaml soubor s popisem prostředí (název, použité kanály, verze Pythonu, balíčky - klidně i s verzemi)conda env create -f env-pgis2.yaml - viz stránka předmětuconda env remove -n pgis2Path z knihovny pathlibif, elif, elsefor a whilecontinue a ukončení cyklu breakfor s enumerate() (iterace přes prvky seznamu, nebo slovníku a zároveň získání indexu)range() - funkce pro generování číselné posloupnosti['cislo 1', 'cislo 2', 'cislo 3']
iff"řetězec {promenna}" - tzv. f-string, vysoce optimalizovaný způsob spojování řetězců"hodnota {}".format(promenna)"hodnota %s" % promenna"hodnota " + str(promenna)", ".join(["a", "b", "c"])import pathlibimport .muj_soubor (doporučuje se pouze u jednoduchých skriptů, v případě modulů - knihoven lépe importovat plnou cestou)import numpy as npPočítače mají skvělou vlastnosti, dělají co je jim zadá. Počítače maji jeden zásadní problém, dělají přesně, co se jim zadá.
try, except, finallyraise--------------------------------------------------------------------------- ValueError Traceback (most recent call last) Cell In[8], line 3 1 a = 5 2 if a > 3: ----> 3 raise ValueError("`a` nesmí být větší než 3") ValueError: `a` nesmí být větší než 3
__nazev____init__.py, jehož existence označuje složku jako Pythonový modul__repr__()__repr__()with__enter__ a __exit__: uvést typ proměnné-> uvádíme návratový typ funkceimport typing
def fun(vals: typing.List[float], round_up: bool = True) -> typing.List[int]: ...
# manuální typování proměnných, většina knihoven by a identifikovala jako int, ale chceme dát najevo, že může jít o desetinná čísla
a: float = 5
# tento zápis se už detekuje jako float, ale málokdy se to zapíše správně
b = 5.0typing.Optional[] - pro proměnné, které mají buď specifickou hodnotu nebo None
float | None, shodné jako typing.Optional[float]typing.Union[float, int] - pro proměnné, které mohou mít více typůtyping.Any - pro proměnné, které mohou mít libovolný typ (většinou se snažíme vyhnout)typing.Literal[] - pro proměnné, které mohou mít pouze určité hodnoty
typing.Literal["a", "b"]typing.Callable - pro proměnné, které jsou funkce
typing.Callable[[int, int], int] - funkce s dvěma vstupy (celá čísla) a jedním výstupem (celé číslo)Path z knihovny pathlib/
cesta = Path("slozka") / "soubor.txt"open())as_posix()
cesta_text = cesta.as_posix()if __name__ == "__main__":
print(), ale to nemusí být dostačujícíMateriály dostupné: https://jancaha.github.io/vsb-vyuka/