Opi Python 3.12:n jännittävistä ominaisuuksista, jotka helpottavat kehittäjäsi elämää.

Python aikoo julkaista kielen version 3.12 lokakuussa 2023. Tämä versio sisältää joukon jännittäviä ominaisuuksia ja parannuksia. Sen tavoitteena on parantaa koodauskokemustasi tarjoamalla tehokkaampi ja tehokkaampi alusta, jonka avulla voit parantaa koodaustaitojasi.

1. Parannetut virheilmoitukset

Python on jatkuvasti parantanut virheilmoituksiaan uusimmissa versioissa. The 3.11 julkaisu toi tarkempia virheilmoituksia ilmoittamalla tarkat paikat rivien sisällä.

Python 3.12 vie nämä parannukset seuraavalle tasolle seuraavilla lisäyksillä:

  • Ehdotukset puuttuvista moduuleista ("unohditko tuoda X?") kattavat nyt moduulit vakiokirjastosta.
  • Parannetut virheehdotukset tuontiin liittyville yleisille syntaksivirheille. Esimerkiksi jos sinulla on tuonti p osoitteesta m koodissasi virheilmoitus kysyy, aiotteko kirjoittaa mistä m tuonti s.
  • Tietyn moduulin tuontivirheet sisältävät nyt ehdotuksia tuodun moduulin nimiavaruudesta.
  • instagram viewer
  • NameError nyt myös ehdotuksia itse lisätään nimeen, kun se nostetaan luokkainstanssissa. Esimerkiksi jos nimi nopeus ei ole määritetty, virheilmoitus ehdottaa itse.nopeus mahdollisena korjauksena. Tämä on erityisen hyödyllistä, koska se jätetään pois itse Esimerkiksi muuttujat ovat yleinen virheiden lähde luokkaesiintymissä.

2. Tuki Linux Perf Profilerille

Laajalti käytetty Linuxin profilointityökalu, perf, voi nyt toimia Python 3.12 -ohjelmien kanssa. Aiemmin se keskittyi vain C-tason toimintojen seuraamiseen Python-ajon aikana.

Python 3.12:n avulla voit nyt aktivoida perf: n keräämään tietoja myös Python-ohjelmista. Voit aktivoida sen joko ympäristötasolla tai Python-ohjelmassa käyttämällä sys.activate_stack_trampoline toiminto.

3. Tyyppi Vihjeitä parannuksia

Python 3.5:ssä käyttöönotosta lähtien Pythonin tyyppivihjeiden syntaksi on mahdollistanut linting-työkalujen havaitsemisen etukäteen laajan joukon virheitä. Jokaisen seuraavan julkaisun myötä Pythonin tyyppijärjestelmä on kehittynyt kattamaan laajemman valikoiman käyttötapauksia ja tarjoaa parannettuja kirjoitusominaisuuksia.

TypedDict

Python 3.12 esittelee TypedDictsin käyttö lähteenä vihjailla avainsanaargumentteja funktioissa. Tämä hyödyntää Unpack variadic geneeristä, jonka versio 3.11 esitteli.

Tässä on esimerkki tästä ominaisuudesta:

luokkaaElokuva(TypedDict):
nimi: str
vuosi: int

deffoo(**kwargs: Pura [elokuva]) -> Ei mitään: ...

Tässä tapauksessa toiminto foo voi vastaanottaa avainsanaargumentteja nimillä ja tyypeillä, jotka vastaavat Movie TypedDictin sisältöä: nimi tyyppistä str ja vuosi tyyppistä int.

Tämä parannus osoittautuu arvokkaaksi, kun kirjoitetaan vihjefunktioita, jotka hyväksyvät valinnaiset vain avainsanaargumentit ilman oletusarvoja.

Tyyppi Parametri Syntaksi

Python 3.12 esittelee tiiviimmän syntaksin tyyppien määrittämiseen yleisissä luokissa, funktioissa tai tyyppialiaksissa.

Harkitse seuraavaa:

#vanha tapa
alkaen kirjoittamalla tuonti TypeVar
_T = TypeVar("_T")
deffunc(a: _T, b: _T) -> _T:
...
# uuden tyypin parametrimenetelmä
deffunc[T](a: T, b: T) -> T:
...

Uudella syntaksilla TypeVar: ta ei tarvitse tuoda erikseen. Sen sijaan voit hyödyntää func[T] syntaksi osoittamaan yleisiä tyyppiviittauksia. On myös mahdollista määrittää tyyppirajoja, kuten määrittää, että tyypin on oltava jokin tyyppiryhmästä. Nämä tyypit eivät kuitenkaan voi olla yleisiä. Esimerkki tästä syntaksista on func[T: (str, int)].

4. Roskakokoelma

Python 3.12:ssa roskien keräysmekanismi (GC). on muuttunut. Aikaisemmin GC suoritettiin aina, kun kohde oli varattu.

Python 3.12:sta alkaen GC toimii kuitenkin yksinomaan sen sisällä eval katkaisija mekanismi Python-tavukoodisilmukassa. Toisin sanoen se kulkee yhden tavukoodin suorittamisen ja seuraavan välillä.

Lisäksi GC laukeaa myös, kun CPythonin signaalinkäsittelijän tarkistusmekanismia vedetään. Tämä säätö mahdollistaa säännöllisen roskien keräämisen C-laajennuksiin soitettavien pitkien puhelujen aikana suoritusajan ulkopuolella.

Paljastetaan Python 3.12

Python 3.12 esittelee joukon jännittäviä ominaisuuksia ja parannuksia, jotka mullistavat koodauskokemuksen puolestasi. Parannetut virheilmoitukset, parannetut kirjoitusominaisuudet, Linux Perf Profiler -tuki ja optimoitu roskienkeruu, Python 3.12 tarjoaa sinulle työkalut korkealaatuisen koodin kirjoittamiseen tehokkaasti. Hyödynnä Pythonin voima ja nosta koodaustaitosi uusiin korkeuksiin.