= [1, 2, 3]
seznam = {"a": 1, "b": 2}
slovnik = (1, 2, 3) t
Programování v GIS 2
2025-02-24
conda-forge
)conda create -n pgis2 python=3.12
conda activate pgis2
conda config --add channels conda-forge
conda install GDAL
conda deactivate
conda activate pgis2
conda install black isort mypy pep8 flake8 pylint
conda install shapely fiona rasterio polars pandas geopandas
pandas
- 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 pgis2
Path
z knihovny pathlibif, elif, else
for
a while
continue
a ukončení cyklu break
for
s enumerate()
(iterace přes prvky seznamu, nebo slovníku a zároveň získání indexu)range()
- funkce pro generování číselné posloupnostiif
f"ř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 pathlib
import .muj_soubor
(doporučuje se pouze u jednoduchých skriptů, v případě modulů - knihoven lépe importovat plnou cestou)import numpy as np
Počí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á.
raise
try, except, finally
__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 funkcetyping.Optional[]
- pro proměnné, které mají buď specifickou hodnotu nebo None
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/