Python ir augsta līmeņa programmēšanas valoda.
Pēc gada attīstības Tika paziņots par stabilās versijas izlaišanu un arī programmēšanas valodas alfa testēšanas fāzes sākums Python 3.12 un Python 3.13 (attiecīgi). Tiek minēts, ka šī jaunā Python 3.12 filiāle tiks atbalstīta pusotru gadu, pēc tam vēl trīsarpus gadus tiks ģenerēti labojumi, lai novērstu ievainojamības.
Jaunajā Python 3.12 versijā, kas tiek prezentēta, ir iekļauti uzlabojumi f-string analīzes elastība. Ar šo uzlabojumu tagad daudzus ierobežojumus var atstāt malā, jo, piemēram, Python tagad varat ietvert jebkuru derīgu izteiksmi, tostarp daudzrindu izteiksmes, komentārus, slīpsvītras un unikoda atkāpšanās secības. Turklāt iekšējās virknes tagad ļauj atkārtoti izmantot tās pašas pēdiņas, t.i., dubultpēdiņas tagad var izmantot atkārtoti iekšā bez nepieciešamības mainīt uz atsevišķām pēdiņām.
Piemēram:
f"""{f'''{f'{f"{1+1}"}'}'''}"""
Tagad ir iespējams patvaļīgi ligzdot:
f"{f"{f"{f"{f"{f"{1+1}"}"}"}"}"}"
Vēl viena no izmaiņām, kas izceļas, ir atbalsts izolētiem apakštulkiem un atsevišķām globālajām slēdzenēm, kas ir paredzēti, lai palielinātu resursu izmantošanas efektivitāti daudzkodolu sistēmās, jo dažādiem tulkiem procesa ietvaros CPython ļauj procesā vienlaikus darboties vairākiem tulkiem. Pašreizējā stāvoklī šī funkcija ir pieejama tikai caur C-API (Python API atbalsts parādīsies nākamajā galvenajā filiālē).
Papildus tam tiek uzsvērts arī tasPalielināts kļūdu ziņojumu informatīvais saturs un paplašināts izņēmumu loks, piedāvājot ieteikumus drukas kļūdu novēršanai. Piemēram, tagad tiek parādīti ieteikumi aizmirsto standarta bibliotēkas moduļu importēšanai un ieteikumi prefiksam “self”.
Pievienota iespēja izmantot bufera protokolu Python kodā. Klases, kas nodrošina metodi "__buffer__()", tagad var izmantot kā tipus, kas darbojas tieši ar binārajiem datiem atmiņā.
Modulis sys.monitoring tiek piedāvāts atkļūdošanai un profilēšanai, ļauj pārraudzīt notikumus programmā CPython, piemēram, zvanus, funkciju atgriešanos, patvaļīgu koda rindu izpildi, izņēmumus un pārejas ar minimālu pieskaitāmo izdevumu.
Tulks ievieš atbalstu Linux kodola veiktspējas apakšsistēmai, kas ļauj noteikt Python funkciju nosaukumus, profilējot, izmantojot veiktspējas utilītu (iepriekš trasēs tika noteikti tikai C funkciju nosaukumi).
Attiecībā uz veiktspējas uzlabojumiem tiek minēts, ka optimizācija turpinājās, ar kuru Ir iegūts kopējais veiktspējas pieaugums, kas tiek lēsts 5% apmērā., tas arī tika pievienots eksperimentāls atbalsts BOLT binārajam optimizētājam izveides procesam, palielinot veiktspēju par 1–5%, savukārt asyncio pakotnes veiktspēja ir ievērojami uzlabojusies (daži testi liecina par 75% paātrinājumu).
Ir ieviesta saraksta izpratnes iekļautā paplašināšana, kas paātrina darbu ar saraksta izpratni līdz pat divām reizēm (kodam, kas aktīvi izmanto saraksta izpratni, testēšana uzrādīja kopējo veiktspējas pieaugumu par 11%).
Lai uzlabotu drošību, iebūvēti SHA1, SHA3, SHA2-384, SHA2-512 un MD5 algoritmi programmā hashlib ir aizstāti ar formāli pārbaudītām opcijām no HACL* projekta (iebūvētās implementācijas tiek izmantotas tikai tad, ja OpenSSL nav pieejams).
Gada citas izmaiņas kas izceļas:
- Modulis ir paplašinājis Windows atbalstu.
- Python ievieš steka pārpildes aizsardzību.
Klases asyncio.Task izveide ir paātrināta. - Unikoda objektu izmērs ir samazināts par 8 līdz 16 baitiem.
- Darbības ar regulārām izteiksmēm re.sub(), re.subn() un re.Pattern ir paātrinātas.
- Dažu protokolu isinstance() pārbaužu izpilde ir paātrināta no 2 līdz 20 reizēm.
- Ievērojami (dažos testos līdz 64%) ir paātrinātas funkcijas tokenize.tokenize() un tokenize.generate_tokens().
- Ir paātrināta atribūtu ielāde un super() metodes izsaukšana.
- Vispārīgām klasēm un funkcijām ir ierosināta jauna, kompaktāka tipa anotācijas sintakse.
- Tīmekļa pārlūkprogrammas modulis vairs neatbalsta vecākas pārlūkprogrammas, tostarp Grail, Mosaic, Netscape, Galeon, Skipstone, Iceape, Firebird un Firefox līdz 36. versijai.
- Gatavojoties turpmākajām optimizācijām, ir mainīts veselo skaitļu iekšējais attēlojums.
Pēdējais, bet ne mazāk svarīgi, kā minēts, ir sākusies Python 3.13 alfa testēšana, kurā parādījās kompilācijas režīms CPython bez globālās tulka bloķēšanas (GIL, Global Interpreter Lock).
Filiāle Python 3.13 būs alfa versijā septiņus mēnešus, kura laikā tiks pievienoti jauni līdzekļi un izlabotas kļūdas saskaņā ar jauno izstrādes grafiku, darbs pie jaunas filiāles sākas piecus mēnešus pirms iepriekšējās filiāles izlaišanas un līdz brīdim, kad nākamā versija sasniegs testēšanas stadiju alfa.
Pēc tam beta versijas tiks testētas trīs mēnešus, kuru laikā jaunu funkciju pievienošana būs aizliegta un visa uzmanība tiks pievērsta kļūdu labošanai. Pēdējo divu mēnešu laikā pirms izlaišanas filiāle būs izlaiduma kandidāta stadijā, kur notiks galīgā stabilizācija.
Beidzot jā jūs interesē uzzināt vairāk par to, sīkāku informāciju varat pārbaudīt šī saite.