Python je programovací jazyk na vysoké úrovni.
Po roce vývoje Bylo oznámeno vydání stabilní verze a také začátek fáze alfa testování programovacího jazyka Python 3.12 a Python 3.13 (v tomto pořadí). Uvádí se, že tato nová větev Pythonu 3.12 bude podporována rok a půl, poté se budou další tři a půl roku generovat opravy k odstranění zranitelností.
Nová verze Pythonu 3.12, která je představena, přichází s vylepšeními v flexibilita analýzy f-strun. S tímto vylepšením nyní mnohá omezení lze ponechat stranou, protože například nyní můžete v Pythonu obsahovat jakýkoli platný výraz, včetně víceřádkových výrazů, komentářů, zpětných lomítek a sekvencí escape Unicode. Navíc interní řetězce nyní umožňují opakované použití stejných uvozovek, tj. dvojité uvozovky lze nyní znovu použít uvnitř aniž byste museli přejít na jednoduché uvozovky.
Například:
f"""{f'''{f'{f"{1+1}"}'}'''}""""
Nyní je možné libovolně vnořovat:
f"{f"{f"{f"{f"{f"{1+1}""}""}""}""
Další ze změn, které vynikají, je podpora pro izolované subinterprety a samostatné globální zámky, které jsou určeny ke zvýšení efektivity využití zdrojů ve vícejádrových systémech, protože pro různé interprety v rámci procesu CPython umožňuje, aby v procesu běželo několik interpretů současně. V současné době je tato funkce dostupná pouze přes C-API (podpora Python API se objeví v další hlavní větvi).
Kromě toho je také zdůrazněno, žeByl zvýšen informativní obsah chybových hlášení a rozsah výjimek byl rozšířen a nabízí doporučení k odstranění typografických chyb. Nyní se například zobrazují návrhy pro import zapomenutých standardních knihovních modulů a návrhy pro předponu „self“.
Přidána možnost používat protokol bufferu v kódu Pythonu. Třídy, které poskytují metodu "__buffer__()" lze nyní použít jako typy, které pracují přímo s binárními daty v paměti.
Modul sys.monitoring je navržen pro ladění a profilování, umožňuje monitorovat události v CPythonu, jako jsou volání, návraty funkcí, provádění libovolných řádků kódu, výjimky a přechody s minimální režií.
Interpret implementuje podporu pro výkonový subsystém linuxového jádra, který umožňuje určit názvy funkcí Pythonu při profilování pomocí obslužného programu pro výkon (dříve se ve stopách určovaly pouze názvy funkcí C).
Pokud jde o zlepšení výkonu, je zmíněno, že optimalizace pokračovala, s níž Bylo získáno celkové zvýšení výkonu odhadované na 5 %., bylo také přidáno experimentální podpora pro binární optimalizátor BOLT k procesu sestavení, zvýšení výkonu o 1-5 %, zatímco výkon balíčku asyncio se výrazně zlepšil (některé testy ukazují 75% zrychlení).
Bylo implementováno inline rozšíření přehledů seznamů, které zrychluje práci s přehledy seznamů až dvojnásobně (u kódu, který aktivně používá přehledy seznamů, testování ukázalo celkový nárůst výkonu o 11 %).
Chcete-li zlepšit zabezpečení, vestavěné implementace Algoritmy SHA1, SHA3, SHA2-384, SHA2-512 a MD5 v hashlibu byly nahrazeny s formálně ověřenými možnostmi z projektu HACL* (vestavěné implementace se používají pouze v případě, že není k dispozici OpenSSL).
Z další změny které vynikají:
- Modul má rozšířenou podporu pro Windows.
- Python implementuje ochranu proti přetečení zásobníku.
Vytvoření třídy asyncio.Task bylo urychleno. - Velikost objektů Unicode byla zmenšena o 8 až 16 bajtů.
- Operace s regulárními výrazy re.sub(), re.subn() a re.Pattern byly zrychleny.
- Spouštění kontrol isinstance() pro některé protokoly bylo zrychleno 2 až 20krát.
- Významně (v některých testech až 64 %) byly zrychleny funkce tokenize.tokenize() a tokenize.generate_tokens().
- Načítání atributů a volání metody super() bylo zrychleno.
- Pro generické třídy a funkce byla navržena nová, kompaktnější syntaxe typové anotace.
- Modul webového prohlížeče již nepodporuje starší prohlížeče včetně Grail, Mosaic, Netscape, Galeon, Skipstone, Iceape, Firebird a Firefox až do verze 36.
- V rámci přípravy na budoucí optimalizace byla změněna vnitřní reprezentace celých čísel.
V neposlední řadě, jak již bylo zmíněno, začalo alfa testování Pythonu 3.13, ve kterém se objevil režim kompilace CPython bez zámku globálního interpreta (GIL, Global Interpreter Lock).
Větev Python 3.13 bude ve verzi alfa sedm měsíců, během které budou přidávány nové funkce a opraveny chyby podle nového plánu vývoje, práce na nové větvi začínají pět měsíců před vydáním předchozí větve a v době, kdy další verze dosáhne alfa fáze testování.
Poté budou beta verze testovány po dobu tří měsíců, během kterých bude zakázáno přidávání nových funkcí a veškerá pozornost bude věnována opravám chyb. Poslední dva měsíce před vydáním bude pobočka ve fázi kandidáta na vydání, kde dojde ke konečné stabilizaci.
Nakonec ano máte zájem se o tom dozvědět více, můžete zkontrolovat podrobnosti v následující odkaz.