Spoznajte vznemirljive funkcije v Pythonu 3.12, ki vam bodo olajšale življenje razvijalcem.
Python namerava izdati različico 3.12 jezika oktobra 2023. Ta različica prinaša vrsto vznemirljivih funkcij in izboljšav. Njegov cilj je izboljšati vašo izkušnjo kodiranja s ponudbo učinkovitejše in zmogljivejše platforme, ki vam omogoča, da izboljšate svoje sposobnosti kodiranja.
1. Izboljšana sporočila o napakah
Python je v zadnjih različicah nenehno izboljševal svoja sporočila o napakah. The Izdaja 3.11 je predstavila natančnejša sporočila o napakah z navedbo natančnih položajev znotraj vrstic.
Python 3.12 dvigne te izboljšave na naslednjo raven z naslednjimi dodatki:
- Predlogi za manjkajoče module (»ali ste pozabili uvoziti X?«) zdaj vključujejo module iz standardne knjižnice.
- Izboljšani predlogi napak za pogoste sintaksne napake, povezane z uvozi. Na primer, če imate uvoz p iz m v vaši kodi bo prikazana napaka, ki vas bo vprašala, ali ste nameravali pisati iz m uvoz str.
- Napake pri uvozu za določen modul zdaj vključujejo predloge iz imenskega prostora uvoženega modula.
- NameError zdaj vključujejo tudi predloge sebe dodano imenu, ko je dvignjeno znotraj primerka razreda. Na primer, če ime hitrost ni definiran, bo sporočilo o napaki predlagalo lastna hitrost kot morebitni popravek. To je še posebej uporabno po izpuščanju sebe na primer spremenljivke so pogost vir napak v primerkih razreda.
2. Podpora za Linux Perf Profiler
Široko uporabljeno orodje za profiliranje Linuxa, uspešnost, zdaj lahko deluje s programi Python 3.12. V preteklosti se je osredotočal le na sledenje operacijam na ravni C znotraj izvajalnega okolja Python.
S Pythonom 3.12 lahko zdaj aktivirate perf tudi za zbiranje podrobnosti o programih Python. Aktivirate ga lahko na ravni okolja ali znotraj programa Python z uporabo sys.activate_stack_trampolin funkcijo.
3. Izboljšave tipskega namigovanja
Od svoje uvedbe v Pythonu 3.5 Pythonova sintaksa namigovanja tipa omogoča orodjem za linting vnaprejšnje odkrivanje širokega nabora napak. Z vsako naslednjo izdajo se je Pythonov tipski sistem razvil tako, da zajema širši nabor primerov uporabe in ponuja izboljšane funkcije tipkanja.
TypedDict
Python 3.12 predstavlja uporaba TypedDicts kot vir za namigovanje argumentov ključnih besed v funkcijah. To uporablja različico Unpack variadic generic, ki jo je predstavila različica 3.11.
Tukaj je primer, ki ponazarja to funkcijo:
razredFilm(TypedDict):
ime: str
letnik: medn
deffoo(**kwargs: Razpakiraj [film]) -> Noben: ...
V tem primeru funkcija foo lahko prejme argumente ključnih besed z imeni in vrstami, ki se ujemajo z vsebino Movie TypedDict: ime vrste str in leto vrste int.
Ta izboljšava se izkaže za koristno pri funkcijah za namigovanje tipa, ki sprejemajo izbirne argumente samo s ključnimi besedami brez privzetih vrednosti.
Sintaksa parametra tipa
Python 3.12 uvaja bolj jedrnato sintakso za določanje tipov v generičnih razredih, funkcijah ali vzdevkih tipov.
Upoštevajte naslednje:
# stara metoda
od tipkanje uvoz TypeVar
_T = TypeVar("_T")
deffunk(a: _T, b: _T) -> _T:
...
# nova metoda parametra tipa
deffunk[T](a: T, b: T) -> T:
...
Z novo sintakso ni treba izrecno uvoziti TypeVar. Namesto tega lahko uporabite funkcija[T] sintakso za označevanje splošnih tipskih sklicev. Prav tako je mogoče definirati meje tipa, na primer podati, da mora biti tip eden od skupine tipov. Vendar ti tipi sami po sebi ne morejo biti generični. Primer te sintakse je func[T: (str, int)].
4. Odvoz smeti
V Pythonu 3.12 je mehanizem za zbiranje smeti (GC). se je spremenilo. Prej se je GC izvajal vsakič, ko je bil dodeljen objekt.
Vendar od Pythona 3.12 GC deluje izključno znotraj eval breaker mehanizem v zanki bajtne kode Python. Z drugimi besedami, teče med izvajanjem ene in druge bajtne kode.
Poleg tega se GC sproži tudi, ko je priklican mehanizem za preverjanje upravljavca signalov CPython. Ta prilagoditev omogoča občasno zbiranje smeti med dolgotrajnimi klici razširitev C zunaj časa izvajanja.
Predstavitev Pythona 3.12
Python 3.12 uvaja vrsto vznemirljivih funkcij in izboljšav, ki za vas spreminjajo izkušnjo kodiranja. Z izboljšanimi sporočili o napakah, izboljšanimi zmožnostmi tipkanja, podporo za Linux Perf Profiler in optimizirano zbiranje smeti, Python 3.12 vas opremi z orodji za pisanje visokokakovostne kode učinkovito. Sprejmite moč Pythona in dvignite svoje sposobnosti kodiranja na nove višine.