Dokumentace
- Slouží k lepšímu pochopení co kód dělá (především pro ostatní programátory)
- Python sám o sobě klade veliký důraz na čitelnost kódu
Docstrings
- Primární proprieta pro dokumentaci
- Vestavěná funkce
help(obj)
vypíše docstring objektu - Účelem je poskytnout stručný přehled objektu (maximálně 1 řádek)
- Pokud jde o víceřádkový docstring jeho účelem je více než shrnutí a má pevně danou strukturu
-
Jejich konvence je popsána v PEP257
-
Mohou být použity pro 3 typy objektů
- třídy a metody
- packages and modules
- funkce
-
Další dokumentace může být uložena ve složce
/doc
-
Existují nástrojce usnadňující její generování (Sphinx, Epydoc, Read the Docs)
Typování
- Jde o dynamicky typovaný jazyk
- Python provádí kontrolu typů až při běhu programu
- Proměnné může být přiřazená jiná hodnota a změněn její typ
type(var)
vrací typ dané proměnné
Type hinting
- Uživateli umožňuje vidět s jakými typy kód pracuje (avšak NEovlivňuje funkčnost)
- Pokud není vrácena hodnota používáme
-> None
PEP8
- Oficiální coding conventions
- Formátování se dá zajistit automaticky (nástroj Black)
- Kódování souboru: UTF-8
- Odsazení: 4 mezery
- Maximální délka řádku: 79 znaků (docstring 72)
- Mezi třídami/funkcemi 2 prázdné řádky
- Mezi metodami 1 prázdný řádek
- Pořadí importů: standardní knihovna, ostatní, lokální
- Názvy
- Proměnné a funkce: snake_case
- Třídy: CamelCase
- Komentáře
- Mezera po
#
- Alespoň 2 mezery od kódu
- Mezera po