Lær om de spennende funksjonene i Python 3.12 som vil gjøre utviklerlivet ditt enklere.

Python planlegger å gi ut versjon 3.12 av språket i oktober 2023. Denne versjonen gir en rekke spennende funksjoner og forbedringer. Målet er å forbedre kodeopplevelsen din ved å tilby en mer effektiv og kraftig plattform, slik at du kan forbedre kodeferdighetene dine.

1. Forbedrede feilmeldinger

Python har kontinuerlig forbedret feilmeldingene i nyere versjoner. De 3.11-utgivelsen introduserte mer nøyaktige feilmeldinger ved å angi de nøyaktige posisjonene innenfor linjer.

Python 3.12 tar disse forbedringene til neste nivå, med følgende tillegg:

  • Forslag til manglende moduler ("har du glemt å importere X?") omfatter nå moduler fra standardbiblioteket.
  • Forbedrede feilforslag for vanlige syntaksfeil relatert til import. For eksempel hvis du har importere p fra m i koden din, vil en feilmelding spørre om du hadde tenkt å skrive fra m import s.
  • Importfeil for en gitt modul inkluderer nå forslag fra navneområdet til den importerte modulen.
  • instagram viewer
  • Navnefeil forslag nå også innlemme selv- lagt til i navnet når det er oppdratt i en klasseforekomst. For eksempel hvis navnet hastighet er ikke definert, vil feilmeldingen foreslå egen.hastighet som en potensiell korreksjon. Dette er spesielt nyttig siden utelatelse selv- for eksempel variabler er en vanlig kilde til feil i klasseforekomster.

2. Støtte for Linux Perf Profiler

Det mye brukte Linux-profileringsverktøyet, perf, kan nå fungere med Python 3.12-programmer. Tidligere fokuserte det bare på å spore operasjoner på C-nivå innenfor Python-kjøretiden.

Med Python 3.12 kan du nå aktivere perf for å samle detaljer om Python-programmer også. Du kan aktivere den enten på miljønivå eller i et Python-program ved å bruke sys.activate_stack_trampoline funksjon.

3. Type hint forbedringer

Siden introduksjonen i Python 3.5, har Pythons typehinting-syntaks gjort det mulig for linting-verktøy å oppdage et bredt spekter av feil på forhånd. Med hver påfølgende utgivelse har Pythons typesystem utviklet seg til å omfatte et bredere spekter av brukstilfeller, og tilbyr forbedrede skrivefunksjoner.

TypedDict

Python 3.12 introduserer bruk av TypedDicts som en kilde for antydning av nøkkelordargumenter i funksjoner. Dette bruker Unpack variadic generisk, som versjon 3.11 introduserte.

Her er et eksempel som illustrerer denne funksjonen:

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

deffoo(**kwargs: Pakk ut [film]) -> Ingen: ...

I dette tilfellet, funksjonen foo kan motta søkeordargumenter med navn og typer som stemmer overens med innholdet i Movie TypedDict: Navn av typen str og år av typen int.

Denne forbedringen viser seg å være verdifull når type-hintfunksjoner aksepterer valgfrie nøkkelord-argumenter uten standardverdier.

Skriv inn parametersyntaks

Python 3.12 introduserer en mer kortfattet syntaks for å spesifisere typer i generiske klasser, funksjoner eller typealiaser.

Vurder følgende:

# den gamle metoden
fra skrive import TypeVar
_T = TypeVar("_T")
deffunc(a: _T, b: _T) -> _T:
...
# den nye typen parametermetoden
deffunc[T](a: T, b: T) -> T:
...

Med den nye syntaksen er det ikke nødvendig å importere TypeVar eksplisitt. I stedet kan du bruke func[T] syntaks for å indikere generiske typereferanser. Det er også mulig å definere typegrenser, for eksempel å spesifisere at en type må være en av en gruppe typer. Disse typene i seg selv kan imidlertid ikke være generiske. Et eksempel på denne syntaksen er func[T: (str, int)].

4. Søppelsamling

I Python 3.12 er det søppelinnsamlingsmekanisme (GC). har endret seg. Tidligere kjørte GC hver gang et objekt ble tildelt.

Fra og med Python 3.12 opererer imidlertid GC utelukkende innenfor eval breaker mekanisme i Python bytecode loop. Med andre ord, den kjører mellom kjøringen av en bytekode og den neste.

I tillegg utløses GC også når CPythons signal-handler-kontrollmekanisme påkalles. Denne justeringen muliggjør periodisk innsamling av søppel under langvarige samtaler til C-tilknytninger utenfor kjøretiden.

Avduking av Python 3.12

Python 3.12 introduserer en rekke spennende funksjoner og forbedringer, som revolusjonerer kodeopplevelsen for deg. Med forbedrede feilmeldinger, forbedrede skrivemuligheter, støtte for Linux Perf Profiler og optimalisert søppelinnsamling, Python 3.12 utstyrer deg med verktøyene for å skrive kode av høy kvalitet effektivt. Omfavn kraften til Python og løft kodingsferdighetene dine til nye høyder.