Lär dig mer om de spännande funktionerna i Python 3.12 som kommer att göra ditt utvecklarliv enklare.

Python planerar att släppa version 3.12 av språket i oktober 2023. Den här versionen ger en rad spännande funktioner och förbättringar. Dess mål är att förbättra din kodningsupplevelse genom att erbjuda en mer effektiv och kraftfull plattform som gör att du kan förbättra dina kodningsfärdigheter.

1. Förbättrade felmeddelanden

Python har kontinuerligt förbättrat sina felmeddelanden i de senaste versionerna. De 3.11-versionen introducerade mer exakta felmeddelanden genom att ange de exakta positionerna inom linjer.

Python 3.12 tar dessa förbättringar till nästa nivå, med följande tillägg:

  • Förslag på saknade moduler ("har du glömt att importera X?") omfattar nu moduler från standardbiblioteket.
  • Förbättrade felförslag för vanliga syntaxfel relaterade till importer. Till exempel, om du har importera p från m i din kod kommer ett felmeddelande att fråga om du tänkte skriva från m import sid.
  • Importfel för en given modul inkluderar nu förslag från namnområdet för den importerade modulen.
  • instagram viewer
  • Namnfel förslag nu också införliva själv läggs till i namnet när det höjs inom en klassinstans. Till exempel om namnet fart inte är definierad, kommer felmeddelandet att föreslå själv.hastighet som en potentiell korrigering. Detta är särskilt användbart eftersom det utelämnas själv till exempel är variabler en vanlig källa till fel i klassinstanser.

2. Stöd för Linux Perf Profiler

Det mycket använda Linux-profileringsverktyget, perfekt, kan nu fungera med Python 3.12-program. Tidigare fokuserade det bara på att spåra C-nivåoperationer inom Python-körtiden.

Med Python 3.12 kan du nu aktivera perf för att också samla in detaljer om Python-program. Du kan aktivera det antingen på miljönivå eller i ett Python-program med hjälp av sys.activate_stack_trampolin fungera.

3. Typ Tips Förbättringar

Sedan introduktionen i Python 3.5 har Pythons typhintande syntax gjort det möjligt för linting-verktyg att upptäcka ett brett spektrum av fel i förväg. Med varje efterföljande utgåva har Pythons typsystem utvecklats till att omfatta ett bredare utbud av användningsfall och erbjuder förbättrade skrivfunktioner.

TypedDict

Python 3.12 introducerar användning av TypedDicts som en källa för att antyda nyckelordsargument i funktioner. Detta använder Unpack variadic generic, som version 3.11 introducerade.

Här är ett exempel som illustrerar denna funktion:

klassFilm(TypedDict):
namn: str
år: int

deffoo(**kwargs: Packa upp [film]) -> Ingen: ...

I det här fallet funktionen foo kan ta emot nyckelordsargument med namn och typer som överensstämmer med innehållet i Movie TypedDict: namn av typ str och år av typ int.

Den här förbättringen visar sig vara värdefull när typantydande funktioner accepterar valfria nyckelordsargument utan standardvärden.

Typ Parameter Syntax

Python 3.12 introducerar en mer kortfattad syntax för att specificera typer i generiska klasser, funktioner eller typalias.

Tänk på följande:

# den gamla metoden
från skriver importera TypVar
_T = TypeVar("_T")
deffunc(a: _T, b: _T) -> _T:
...
# den nya typen parametermetoden
deffunc[T](a: T, b: T) -> T:
...

Med den nya syntaxen finns det inget behov av att importera TypeVar explicit. Istället kan du använda func[T] syntax för att indikera generiska typreferenser. Det är också möjligt att definiera typgränser, som att specificera att en typ måste vara en av en grupp av typer. Dessa typer i sig kan dock inte vara generiska. Ett exempel på denna syntax är func[T: (str, int)].

4. Skräp samling

I Python 3.12, den sophämtningsmekanism (GC). har förändrats. Tidigare körde GC närhelst ett objekt tilldelades.

Från och med Python 3.12 fungerar GC dock uteslutande inom evalbrytare mekanism i Python bytecode loop. Med andra ord, det körs mellan exekvering av en bytekod och nästa.

Dessutom triggar GC även när CPythons signalhanterare-kontrollmekanism anropas. Denna justering möjliggör periodisk sophämtning under långa samtal till C-anknytningar utanför körtiden.

Avtäcker Python 3.12

Python 3.12 introducerar en rad spännande funktioner och förbättringar som revolutionerar kodningsupplevelsen för dig. Med förbättrade felmeddelanden, förbättrade skrivmöjligheter, stöd för Linux Perf Profiler och optimerad sophämtning, Python 3.12 utrustar dig med verktygen för att skriva högkvalitativ kod effektivt. Omfamna kraften i Python och lyft dina kodningsfärdigheter till nya höjder.