Sužinokite apie įdomias Python 3.12 funkcijas, kurios palengvins jūsų kūrėjo gyvenimą.
Python planuoja išleisti 3.12 kalbos versiją 2023 m. spalį. Šioje versijoje yra daugybė jaudinančių funkcijų ir patobulinimų. Jos tikslas yra pagerinti jūsų kodavimo patirtį, siūlant efektyvesnę ir galingesnę platformą, leidžiančią patobulinti savo kodavimo įgūdžius.
1. Patobulinti klaidų pranešimai
Naujausiose versijose Python nuolat tobulino klaidų pranešimus. The 3.11 leidimas pristatė tikslesnius klaidų pranešimus nurodant tikslias vietas eilutėse.
Python 3.12 perkelia šiuos patobulinimus į kitą lygį su šiais priedais:
- Pasiūlymai dėl trūkstamų modulių ("ar pamiršote importuoti X?") dabar apima modulius iš standartinės bibliotekos.
- Patobulinti klaidų pasiūlymai dėl įprastų sintaksės klaidų, susijusių su importavimu. Pavyzdžiui, jei turite importuoti p iš m jūsų kode, klaida bus paklausta, ar ketinote rašyti iš m importo p.
- Tam tikro modulio importavimo klaidos dabar apima pasiūlymus iš importuoto modulio vardų srities.
- Vardo klaida pasiūlymai dabar taip pat įtraukti savarankiškai pridedamas prie pavadinimo, kai iškeliamas klasės egzemplioriuje. Pavyzdžiui, jei vardas greitis neapibrėžtas, bus pasiūlytas klaidos pranešimas savęs.greitis kaip galima korekcija. Tai ypač naudinga, nes praleidžiama savarankiškai Pavyzdžiui, kintamieji yra dažnas klaidų šaltinis klasėse.
2. „Linux Perf Profiler“ palaikymas
Plačiai naudojamas Linux profiliavimo įrankis, perf, dabar gali dirbti su Python 3.12 programomis. Anksčiau jis buvo skirtas tik C lygio operacijų stebėjimui Python vykdymo metu.
Naudodami Python 3.12, dabar galite suaktyvinti perf, kad rinktumėte išsamią informaciją apie Python programas. Jį galite suaktyvinti aplinkos lygiu arba Python programoje naudodami sys.activate_stack_trampoline funkcija.
3. Tipo užuominų patobulinimai
Nuo pat įdiegimo Python 3.5 versijoje, Python tipo užuominos sintaksė įgalino linijavimo įrankius iš anksto aptikti daugybę klaidų. Su kiekvienu paskesniu leidimu „Python“ tipo sistema vystėsi taip, kad apimtų platesnį naudojimo atvejų spektrą, siūlydama patobulintas spausdinimo funkcijas.
ĮvestasDict
Python 3.12 pristato TypedDicts naudojimas kaip raktinių žodžių argumentų užuominos šaltinis funkcijose. Tam naudojama bendroji Unpack variadic versija, kurią pristatė 3.11 versija.
Štai pavyzdys, iliustruojantis šią funkciją:
klasėFilmas(TypedDict):
vardas: g
metai: tarpt
deffoo(**kwargs: išpakuokite[filmas]) -> Nė vienas: ...
Šiuo atveju funkcija foo gali gauti raktinių žodžių argumentus su pavadinimais ir tipais, kurie atitinka Movie TypedDict turinį: vardas tipo g ir metų tipo tarpt.
Šis patobulinimas yra naudingas, kai nurodomos funkcijos, kurios priima pasirenkamus tik raktinių žodžių argumentus be numatytųjų verčių.
Tipas Parametras Sintaksė
Python 3.12 pristato glaustesnę sintaksę tipams nurodyti bendrosiose klasėse, funkcijose arba tipo slapyvardžiuose.
Apsvarstykite šiuos dalykus:
# senas metodas
iš spausdinant importuoti TypeVar
_T = TypeVar("_T")
deffunc(a: _T, b: _T) -> _T:
...
# naujo tipo parametrų metodas
deffunc[T](a: T, b: T) -> T:
...
Naudojant naują sintaksę, nereikia tiesiogiai importuoti TypeVar. Vietoj to galite naudoti funkcija [T] sintaksė, nurodanti bendro tipo nuorodas. Taip pat galima apibrėžti tipo ribas, pavyzdžiui, nurodyti, kad tipas turi būti vienas iš tipų grupės. Tačiau pačios šios rūšys negali būti bendrinės. Šios sintaksės pavyzdys yra func[T: (str, int)].
4. Šiukšlių kolekcija
Python 3.12 versijoje šiukšlių surinkimo (GC) mechanizmas pasikeitė. Anksčiau GC veikė kiekvieną kartą, kai buvo paskirtas objektas.
Tačiau nuo Python 3.12 versijos GC veikia tik sistemoje eval pertraukiklis mechanizmas Python baito kodo cikle. Kitaip tariant, jis veikia nuo vieno baito kodo vykdymo iki kito.
Be to, GC taip pat suveikia, kai iškviečiamas CPython signalų tvarkyklės tikrinimo mechanizmas. Šis koregavimas leidžia periodiškai rinkti šiukšles ilgai skambinant į C plėtinius ne vykdymo metu.
„Python 3.12“ pristatymas
Python 3.12 pristato daugybę įdomių funkcijų ir patobulinimų, kurie iš esmės keičia kodavimo patirtį. Su patobulintais klaidų pranešimais, patobulintomis spausdinimo galimybėmis, „Linux Perf Profiler“ palaikymu ir optimizuotas šiukšlių surinkimas, „Python 3.12“ suteikia jums įrankius aukštos kokybės kodui rašyti efektyviai. Pasinaudokite Python galia ir pakelkite savo kodavimo įgūdžius į naujas aukštumas.