Python är ett högnivåtolkat programmeringsspråk vars filosofi betonar läsbarheten av dess kod.
Efter ett års utveckling, den nya versionen av programmeringsspråket Python 3.11 har publicerats, kommer den nya grenen att stödjas i ett och ett halvt år, varefter patchar med sårbarheter kommer att bildas under ytterligare tre och ett halvt år.
Samtidigt började alfatestning av Python 3.12-grenen (enligt det nya utvecklingsschemat startar arbetet med en ny gren fem månader innan den tidigare grenen släpps och når alfatestning vid tidpunkten för nästa version).
Python 3.12-grenen kommer att finnas i alfaversioner i sju månader, under vilka nya funktioner kommer att läggas till och buggar fixas. Därefter kommer betatestning att ske i tre månader, under vilken tillägg av nya funktioner kommer att förbjudas och full uppmärksamhet kommer att ägnas åt buggfixar. De sista två månaderna före lansering kommer filialen att vara i lanseringskandidatstadiet, då slutlig stabilisering kommer att ske.
De viktigaste nya funktionerna i Python 3.11
I den här nya versionen Betydande arbete har gjorts för att optimera prestandan, eftersom den nya grenen innehåller relaterade ändringar med acceleration och inline-distribution av funktionsanrop, användningen av snabba tolkar av typiska operationer, samt optimeringar förberedda av Cinder- och HotPy-projekten. Beroende på typen av belastning ökar hastigheten för kodexekveringen mellan 10 % och 60 %. I genomsnitt ökade prestandan med 25 % när de klarade testsviten för pyperformance.
Cachingmekanismen har designats om bytekod, vilket minskade tolkens starttid med 10-15 %. Objekt med kod och bytekod allokeras nu statiskt av tolken, vilket gjorde det möjligt att eliminera stegen att riva upp bytekod som hämtats från cachen och konvertera objekt med kod för att placera dem i heapminnet.
Lagt till stöd till undantagsgrupper, vilket ger programmet möjlighet att ta upp och bearbeta flera olika undantag samtidigt. Nya undantagstyper ExceptionGroup och BaseExceptionGroup föreslås för att gruppera flera undantag tillsammans, och uttrycket "except*" läggs till för att separera undantag från en grupp.
Lade till en speciell LiteralString-typ så ensam kan inkludera bokstavliga strängar som är kompatibla med typen LiteralString (det vill säga blotta strängar och strängar av typen LiteralString, men inte godtyckliga eller blandade strängar av typen str). Typen LiteralString kan användas för att begränsa överföringen av strängargument till funktioner, godtycklig ersättning av delar av strängar där det kan leda till sårbarheter, till exempel när strängar genereras för SQL-frågor eller skalkommandon.
Utöver det också möjligheten att markera enskilda delar av ordböcker tillhandahålls (TypedDict) med Required and Not Required-flaggor för att bestämma obligatoriska och valfria fält (som standard krävs alla deklarerade fält om totalparametern inte är inställd på Falsk).
Lade till @dataclass_transform klass, metod och funktion dekorator, när det anges, behandlar den statiska typkontrollen objektet som om du använder @dataclasses.dataclass-dekoratorn.
Av de andra förändringarna som sticker ut i den här nya versionen:
- Lade till möjligheten att använda atomgruppering ((?>…)) och svartsjuka (besittande) kvantifierare (*+, ++, ?+, {m,n}+) i reguljära uttryck.
- Typen TypeVarTuple har lagts till, vilket tillåter användning av variabel generika, till skillnad från TypeVar, som inte täcker en typ, utan ett godtyckligt antal typer.
- Standardbiblioteket innehåller tomllib-modulen med funktioner för att analysera TOML-formatet.
- Metoden add_note() har lagts till i klassen BaseException, vilket gör att en textanteckning kan bifogas undantaget, till exempel för att lägga till kontextuell information som inte var tillgänglig när undantaget kastades.
- En speciell typ Själv har lagts till för att representera den aktuella privatklassen. Self kan användas för att kommentera metoder som returnerar en instans av din klass på ett enklare sätt än att använda TypeVar.
- Lade till "-P" kommandoradsalternativ och PYTHONSAFEPATH miljövariabel för att inaktivera automatisk anslutning av potentiellt osäkra filsökvägar till sys.path.
- Verktyget py.exe för Windows-plattformen har förbättrats avsevärt för att stödja syntaxen "-V:". / " Dessutom "- . ».
- MĂĄnga C API-makron har konverterats till vanliga eller statiska inline-funktioner
- Modulerna uu, cgi, pipes, crypt, aifc, chunk, msilib, telnetlib, audioop, nis, sndhdr, imghdr, nntplib, spwd, xdrlib, cgitb, mailcap, ossaudiodev och sunau har fasats ut och kommer att tas bort frĂĄn Python. 3.13 release.
- Tog bort PyUnicode_Encode*-funktioner.
- TaskGroup-klassen lades till i asyncio-modulen med implementeringen av en asynkron kontexthanterare som väntar på att uppgiftsgruppen ska slutföras.
- Att lägga till uppgifter i en grupp görs med metoden create_task() .
Slutligen om du är intresserad av att veta mer om detkan du kolla in detaljerna följande länk.