Najdôležitejšie novinky v Python 3.7:
Nový UTF-8 režim
Kódovanie napr. textu, rôznych súborov, vstupov či výstupov je vždy veľkou vedou. Python 3.7 prichádza so šikovným režimom UTF-8, ktorý ignoruje lokálne nastavené kódovanie a kódovanie prebieha len v UTF-8. V POSIX lokalizácii má predvoľbu nastavenú na bezproblémové použitie, avšak v ostatných lokalizáciách je režim zakázaný. No nemusíte zúfať, je možné užívateľsky povoliť režim UTF-8, ale len na vlastné riziko.
Data classes
S verziou Python 3.7 prichádzajú data classes, ktoré nám uľahčia tvorbu tried. Základom novinky je dekorátor triedy dataclass(), ktorý používa anotácie premenných a automatický generuje metódy __init__, __repr__ a __eq__.
Štandardne definujeme triedu napr. takto:
class Vec:
def __init__(self, vyska, dlzka, hlbka):
self.vyska = vyska
self.dlzka = dlzka
self.hlbka = hlbka
S dekorátorom tried dataclass() prepíšeme na takýto tvár:
@dataclass
class Vec:
vyska: int
sirka: int
hlbka: int
Ako vidíte, došlo k automatizácii a už nemusíme toľko písať kódu pri tvorbe tried so štruktúrovanými údajmi.
Intuitívnejšie vyvolanie ladenia s pomocou breakpoint()
Ak chcete vyvolať ladenie pred Python 3.7, musíte importovať knižnicu pdb a volať funkciu pdb.set_trace(). No v novej verzii vám stačí zavolať breakpoint().
Viac podrobností o novej verzii sa dozviete v online dokumentácii.








