Lær om de spændende funktioner i Python 3.12, der vil gøre dit dev-liv lettere.

Python planlægger at frigive version 3.12 af sproget i oktober 2023. Denne version bringer en række spændende funktioner og forbedringer. Dens mål er at forbedre din kodningsoplevelse ved at tilbyde en mere effektiv og kraftfuld platform, så du kan forbedre dine kodningsfærdigheder.

1. Forbedrede fejlmeddelelser

Python har løbende forbedret sine fejlmeddelelser i de seneste versioner. Det 3.11-udgivelsen introducerede mere nøjagtige fejlmeddelelser ved at angive de nøjagtige positioner inden for linjer.

Python 3.12 tager disse forbedringer til næste niveau med følgende tilføjelser:

  • Forslag til manglende moduler ("har du glemt at importere X?") omfatter nu moduler fra standardbiblioteket.
  • Forbedrede fejlforslag til almindelige syntaksfejl i forbindelse med import. For eksempel, hvis du har import p fra m i din kode vil en fejl spørge, om du har tænkt dig at skrive fra m import s.
  • Importfejl for et givet modul inkluderer nu forslag fra det importerede moduls navneområde.
  • Navnefejl forslag nu også indarbejde selv tilføjet til navnet, når det er rejst inden for en klasseforekomst. For eksempel hvis navnet fart er ikke defineret, vil fejlmeddelelsen foreslå selv.hastighed som en potentiel korrektion. Dette er især nyttigt, da det er udeladt selv for eksempel er variabler en almindelig kilde til fejl i klasseforekomster.

2. Support til Linux Perf Profiler

Det meget brugte Linux-profileringsværktøj, perf, kan nu arbejde med Python 3.12-programmer. Tidligere fokuserede det kun på sporing af C-niveau operationer inden for Python runtime.

Med Python 3.12 kan du nu aktivere perf for også at indsamle detaljer om Python-programmer. Du kan aktivere det på enten miljøniveau eller i et Python-program ved hjælp af sys.activate_stack_trampolin fungere.

3. Type Hint Forbedringer

Siden introduktionen i Python 3.5 har Pythons type-hinting-syntaks gjort det muligt for linting-værktøjer at opdage en lang række fejl på forhånd. Med hver efterfølgende udgivelse har Pythons typesystem udviklet sig til at omfatte en bredere vifte af use cases, der tilbyder forbedrede skrivefunktioner.

Typedict

Python 3.12 introducerer brug af TypedDicts som en kilde til at antyde nøgleordsargumenter i funktioner. Dette bruger Unpack variadic generisk, som version 3.11 introducerede.

Her er et eksempel, der illustrerer denne funktion:

klasseFilm(TypedDict):
navn: str
år: int

deffoo(**kwargs: Pak ud[Film]) -> Ingen: ...

I dette tilfælde funktionen foo kan modtage søgeordsargumenter med navne og typer, der stemmer overens med indholdet af Movie TypedDict: navn af typen str og år af typen int.

Denne forbedring viser sig at være værdifuld, når der er typehintfunktioner, der accepterer valgfrie søgeordsargumenter uden standardværdier.

Indtast parametersyntaks

Python 3.12 introducerer en mere kortfattet syntaks til at specificere typer i generiske klasser, funktioner eller typealiaser.

Overvej følgende:

# den gamle metode
fra skrive importere TypeVar
_T = TypeVar("_T")
deffunc(a: _T, b: _T) -> _T:
...
# den nye type parameter metode
deffunc[T](a: T, b: T) -> T:
...

Med den nye syntaks er det ikke nødvendigt at importere TypeVar eksplicit. I stedet kan du bruge func[T] syntaks for at angive generiske typereferencer. Det er også muligt at definere typegrænser, såsom at specificere, at en type skal være en af ​​en gruppe af typer. Disse typer kan dog ikke i sig selv være generiske. Et eksempel på denne syntaks er func[T: (str, int)].

4. Dagrenovation

I Python 3.12 er garbage collection (GC) mekanisme har ændret. Tidligere kørte GC'en hver gang et objekt blev tildelt.

Fra Python 3.12 opererer GC dog udelukkende inden for eval breaker mekanisme i Python bytecode loop. Med andre ord kører det mellem udførelsen af ​​en bytekode og den næste.

Derudover udløses GC'en også, når CPythons signal-handler-kontrolmekanisme aktiveres. Denne justering muliggør periodisk affaldsindsamling under langvarige opkald til C-lokalnumre uden for kørselstiden.

Afsløring af Python 3.12

Python 3.12 introducerer en række spændende funktioner og forbedringer, der revolutionerer kodningsoplevelsen for dig. Med forbedrede fejlmeddelelser, forbedrede skrivemuligheder, understøttelse af Linux Perf Profiler og optimeret affaldsindsamling, Python 3.12 udstyrer dig med værktøjerne til at skrive kode af høj kvalitet effektivt. Omfavn kraften i Python, og løft dine kodningsevner til nye højder.