„Python 3.10“ gali pasigirti viena stabiliausių versijų, kurias vartotojai gali atsisiųsti, ir ji bus išleista vėliau šiais metais. Naujai išleistoje versijoje bus daug pastebimų pakeitimų, pavyzdžiui, lengvai naudojamos funkcijos pradedantiesiems ir patyrusiems programuotojams.

Ryškūs naujosios „Python“ versijos patobulinimai apima struktūrinio modelio įvedimą atitikimas, geresni klaidų pranešimai, nauji sąjungos operatoriai, tikslūs derinimo linijų numeriai ir daug daugiau.

Štai ką reikia žinoti apie „Python 3.10“:

Struktūrinių modelių atitikimas „Python“ 3.10

Dėl struktūrinio modelio suderinimo kodo rašymas tampa tiesioginis, ir jis ir toliau išlieka vienu ryškiausių naujausios „Python“ versijos akcentų. „Python“ siekia patobulinti ankstesnius atitikties atvejo teiginius, esančius ankstesnėse programavimo kalbos versijose. Jis atnaujino esamus „Python“ atitikties atvejų teiginius.

Greitai pažvelkime į struktūrinių modelių suderinimo įgyvendinimą:

Atitikties atvejo pareiškimas jau kurį laiką yra „Python“ kalbos dalis. Šis teiginys iš esmės naudojamas siekiant išvengti varginančio darbo rašant

instagram viewer
jei-kitaip pareiškimas kelis kartus.

Naudodami šią funkciją naujame statinyje, galite palyginti objektus su panašiomis savybėmis.

atitikti media_object:
didžiųjų raidžių vaizdas (type = "jpg"):
# Grįžti kaip yra
grąžinti media_object
atvejo vaizdas (tipas = "png") | Vaizdas (type = "gif"):
return render_as (media_object, "jpg")
bylos vaizdo įrašas ():
pakelti „ValueError“ („Kol kas nepavyksta išgauti kadrų iš vaizdo įrašo“)
atvejis other_type:
padidinti išimtį (f „Medijos tipas {media_object} dar negali būti tvarkomas“)

Naujoji „Python“ biblioteka atpažįsta tokius objektus kaip jpg, gif ir vaizdo įrašai. Šis kodas gali veikti sklandžiai, nesukeliant klaidos.

2. Patobulinti klaidų pranešimai

Kiekvienas koduotojas tikriausiai supranta klaidų svarbą rašant kodą ir tai, kaip gali įaudrinti kai kurie klaidų tipai. Ankstesnės „Python“ versijos rodė klaidų pranešimus, kai tik atsirado sintaksės problemų. Tai gali būti dėl netinkamos sintaksės, trūkstamų raktinių žodžių, neteisingų ar klaidingai parašytų raktinių žodžių, be kitų problemų.

Šie klaidų pranešimai toli gražu nebuvo tobuli, nes pradedantiesiems (kartais net pažengusiems) buvo sunku nustatyti tikrąją klaidos priežastį savo koduose. Kaip programuotojas, „Google“ ir toliau yra jūsų sąjungininkė iššifruojant skirtingų klaidų pranešimų priežastis.

Pavyzdžiui, daugelis žmonių gali nežinoti, kodėl „Python“ pateikia šią klaidą:

 Sintaksės klaida: netikėtas EOF analizuojant klaidos pranešimą.

Tokių teiginių neaiškumas paskatino naujausią „Python“ versiją patobulinti esamą klaidų pranešimų rinkinį.

Senesni pranešimai buvo pakeisti lengvai suprantamais klaidų pranešimais, tokiais kaip:

{niekada nebuvo uždaryta netikėtas EOF analizuojant

Dar keletas pakeitimų:

Tokios atributų klaidos kaip:

iš kolekcijų importuoja pavadinimu „toptlo“

modulis „kolekcijos“ neturi atributo „namedtoplo“. Ar turėjote galvoje: vardutuple?

NameError pranešimai modifikuojami taip:

naujas_varas = 5
spausdinti (naujas_vr)>

NameError: vardas „new_vr“ nėra apibrėžtas. Ar turėjote galvoje: new_var?

3. Skliausteliuose esantys konteksto valdytojai

Naujieji sulčių konteksto valdytojai gali padaryti jūsų kodą elegantiškesnį. Nors tai nėra pagrindinė funkcija, ji gali lengvai sumažinti jūsų kodą. Ši funkcija naudinga, jei dirbate komandoje ir jūsų kodas turi būti struktūrizuotas.

Įsivaizduokite, kad parašėte tokį pareiškimą:

su atvira („file1.txt“, „r“) kaip fin, atidaryta („file2.txt“, „w“) kaip fout:
fout.write (fin.read ())

Aukščiau pateiktas kodas veikia, tačiau pirmoji eilutė yra per ilga ir atrodo gremėzdiška. Galite nutraukti liniją naudodami pasvirąjį brūkšnį (\) ir kad kodas atrodytų struktūruotas:

su atidaryti („file1.txt“, „r“) kaip fin, \ open („file2.txt“, „w“) kaip fout: fout.write (fin.read ())

Pristatę naują skliaustų konteksto tvarkyklę, taip pat galite nutraukti eilutę naudodami skliaustus:

su (atidaryti („file1.txt“, „r“) kaip fin,
atidaryti („file2.txt“, „w“) kaip fout):
fout.write (fin.read ())

Susijęs: „Python“ projekto idėjos, tinkamos pradedantiesiems

4. Naujo tipo sąjungos operatorius

Maža, bet patogi „Python 3.10“ funkcija yra naujo tipo sąjungos operatorius. Kiekviename „Python“ leidime yra iš anksto nustatytas tipo užuominų funkcijų rinkinys.

Sąjungos operatorius apima sąlyginę logiką; pavyzdžiui, tarpt arba plūdė galima rašyti kaip Sąjunga [X, Y]. Naujasis sąjungos operatorius gali būti išreikštas kaip int | plūduriuoti taip pat.

Įvedus naują sąjungos operandą „Python 3.10“, sutaupoma laiko ir kodas atrodo gerai apibrėžtas.

Pavyzdžiui:

def f (x: int | plūdė) -> plūdė:
grąžinti x * 3.142
f (1) # perdavimas
f (1.5) # perdavimas
f ('str') # linter parodys anotacijos klaidą

„Python“ anotacijos klaida

5. Tikslūs derinimo eilučių numeriai

Galbūt jau daug kartų pastebėjote, kad klaidos sekimas nenukreipia jūsų į teisingą eilutę, kurioje įvyko klaida. Tai apsunkina koduotojų, kurie ką tik pradėjo rašyti kodą, derinimą.

Ydingas klaidų atsekimas ypač akivaizdus rašant sys.pavedimas ir susijusius „Python“ įrankius. Naujesnė versija tai žymiai pagerina, o įvykus klaidai galite pamatyti tikslius eilutės numerius.

Kad būtų tikslesnis eilutės numeris, „Python 3.10“ pakeičia savo patikimumą nuo dabartinės co_Inotab atributą ir naudoja naują metodą co_lines () atributas. Šis atributas veikia taip, kad f_lineo visada yra tikslus eilutės numeris.

1. dėl (
2. x) [1]:
3. praeiti
4. grįžti

Susijęs: Derinkite savo „Python“ kodą

6. Atidėtas anotacijų vertinimas

„Python“ sistemoje tipo anotacijų vertinimas atliekamas funkcijų apibrėžimo metu. Tai reiškia, kad tipų anotacijos vertinamos eilės tvarka iš viršaus į apačią.

Nors tai gali atrodyti geriausias pasirinkimas, vis dėlto yra dvi šio požiūrio problemos:

  • Tipo patarimai nurodo tipus, kurie dar nėra apibrėžti ir neveikia; šias užuominas reikia išreikšti eilutėmis.
  • Modulio importas sulėtėjo, nes tipo užuominos vykdomos realiuoju laiku.

Siekiant išvengti vykdymo problemų, anotacijos saugomos _notacijos_ ir vertinimas atliekamas kartu. Tai leidžia persiųsti pirmyn, nes pirmiausia vykdomas modulių importavimas, taip sutrumpinant inicijavimo laiką.

Darbas su naujausiomis „Python 3.10“ funkcijomis

Naujausia „Python“ versija bus išleista 2021 m. Spalio 4 d.; ji žada ištaisyti klaidas, kurios yra esamose versijose. Sekančios versijos pagerins dabartinę 3.10 versiją.

Struktūrinis modelio atvaizdavimas yra svarbiausias šio naujinio akcentas, todėl paprasčiau rašyti panašių objektų kodus. Kitos funkcijos, pvz., „Parenthesized Context Managers“ ir naujo tipo „Union Operators“, siekia, kad kodas būtų paprastesnis ir efektyvesnis.

Nepaisant to, esamose „Python“ versijose yra keletas puikių išimčių tvarkymo būdų. Galite gerai išnaudoti „Python“ funkcijas.

DalintisČivināšanaEl
Kaip elgtis su „Python“ išimtimis

Uždenkite savo kodavimo bazes „Python“ išimtimis.

Skaitykite toliau

Susijusios temos
  • Programavimas
  • Programavimas
  • Python
  • Kodavimo patarimai
Apie autorių
Wini Bhalla (Paskelbta 21 straipsnis)

Wini yra Delyje gyvenanti rašytoja, turinti 2 metų rašymo patirtį. Nerašydama ji buvo siejama su skaitmeninės rinkodaros agentūromis ir techninėmis firmomis. Ji yra parašiusi turinio, susijusio su programavimo kalbomis, debesų technologijomis, AWS, mašininiu mokymusi ir dar daugiau. Laisvalaikiu ji mėgsta tapyti, leisti laiką su šeima ir keliauti į kalnus, kai tik įmanoma.

Daugiau iš Wini Bhalla

Užsiprenumeruokite mūsų naujienlaiškį

Prisijunkite prie mūsų naujienlaiškio, kuriame rasite techninių patarimų, apžvalgų, nemokamų el. Knygų ir išskirtinių pasiūlymų!

Norėdami užsiprenumeruoti, spustelėkite čia