====== Novinky v Pythonu ====== ... v jeho jednotlivých verzích, relevantní pro RPH. V RPH předepisujeme některou verzi Pythonu jako tu, na níž poběží hodnotící skripty a turnaje. Tato stránka slouží učitelům k rozhodnutí, jakou verzi nasadit, a studentům k rychlé kontrole, jestli náhodou nepoužívají nové rysy Pythonu z nějaké aktuálnější verze než je ta používaná v RPH, kvůli nimž by jejich kódy nemusely fungovat správně. Následující výčet shrnuje jen nejdůležitější změny, prakticky ignoruje pokročilejší vlastnosti Pythonu a jeho standardních knihoven. ===== Python 3.8 ===== výtah z [[https://docs.python.org/3.8/whatsnew/3.8.html|What's new in Python 3.8]] * Výrazy s přiřazením, Walrus operátor '':='' * Výhradně poziční parametry, které nelze zadat jako keyword argument * Přidána funkce ''math.dist()'' pro výpočet Euklidovské vzdálenosti mezi body * Přidána funkce ''math.prod()'' (analogická k ''sum()'') * V modulu ''statistics'' přidány funkce ''fmean()'', ''geometric_mean()'', ''multimode()'', ''quantiles()'' a třída ''NormalDist''. ===== Python 3.7 ===== Výtah z [[https://docs.python.org/3.7/whatsnew/3.7.html|What's new in Python 3.7]] * Data classes * Slovníky zachovávají pořadí prvků, v němž byly do slovníku vloženy. ===== Python 3.6 ===== Výtah z [[https://docs.python.org/3.6/whatsnew/3.6.html|What's new in Python 3.6]] * Tzv. "f-stringy", formátované řetězcové literály. Alternativa k ''str.format()'' a k ''"%s" % var'' * Podpora pro podtržítka v numerických literálech: oddělovač tisíců, např. ''1_000_000''. * Typové anotace proměnných. ===== Python 3.5 ===== Výtah z [[https://docs.python.org/3.5/whatsnew/3.5.html|What's new in Python 3.5]] * Nový operátor pro maticové násobení, ''a @ b''. * Modul ''typing'' - podpora pro nepovinné typování.