Python 3.10 on uhke, et see on üks stabiilsemaid versioone, mida kasutajad saavad alla laadida, ja see ilmub selle aasta lõpus. Äsja avaldatud versioonil on palju märgatavaid muudatusi, näiteks hõlpsasti kasutatavad funktsioonid nii algajatele kui ka kogenud programmeerijatele.

Uue Pythoni versiooni silmatorkavad parandused hõlmavad struktuurimustri kasutuselevõttu sobitamine, paremad veateated, uued liiduoperaatorid, täpsed reanumbrid silumiseks ja palju muud rohkem.

Python 3.10 kohta peate teadma järgmist.

Struktuurimustrite sobitamine Pythonis 3.10

Struktuurimustrite sobitamine muudab koodi kirjutamise lihtsaks ja see on jätkuvalt üks viimase Pythoni versiooni silmapaistvamaid hetki. Pythoni eesmärk on täiustada programmeerimiskeele varasemates versioonides olemasolevaid vaste- ja väiketähti. See on värskendanud Pythonis olemasolevaid vaste- ja väiketähti.

Vaatame kiiresti struktuurimustrite sobitamise rakendusi:

Vastete ja juhtumite avaldus on juba mõnda aega olnud Pythoni keele osa. Seda väidet kasutatakse põhimõtteliselt, et vältida tüütut tööd selle kirjutamisel

instagram viewer
kui-muidu avaldus mitu korda.

Selle funktsiooni abil saate uue koostise korral võrrelda sarnaste omadustega objektidega.

sobita meediaobjekt:
juhtumipilt (tüüp = "jpg"):
# Tagasi nii nagu on
tagasta meediaobjekt
juhtumipilt (tüüp = "png") | Pilt (type = "gif"):
return render_as (meediaobjekt, "jpg")
juhtum Video ():
tõsta ValueError ("Videost ei saa veel kaadreid eraldada")
juhtum muu_tüüp:
tõsta erandit (f "Meediatüüpi {media_object} ei saa veel käsitseda")

Uus pythoni raamatukogu tunneb ära sellised objektid nagu jpg, gif ja videod. See kood võib sujuvalt töötada ilma viga esitamata.

2. Täiustatud veateated

Tõenäoliselt mõistab iga kodeerija koodi kirjutamise ajal vigade tähtsust ja seda, kui vihased võivad olla mõned veatüübid. Pythoni varasemad versioonid andsid veateateid kohe, kui süntaksis oli probleeme. Need võivad muu hulgas olla tingitud valest süntaksist, puuduvatest märksõnadest, valedest või valesti kirjutatud märksõnadest.

Need veateated polnud kaugeltki täiuslikud, kuna algajatel (mõnikord isegi isegi edasijõudnutel) oli raske oma koodides vea tegelikku põhjust tuvastada. Programmeerijana on Google jätkuvalt teie liitlane erinevate veateadete põhjuste dešifreerimisel.

Näiteks ei pruugi paljud inimesed teada, miks Python annab järgmise tõrke:

 Süntaksiviga: ootamatu EOF veateate parsimisel.

Selliste avalduste ebaselgus ajendas Pythoni uusimat versiooni oma olemasolevaid veateateid parandama.

Vanemad teated on asendatud hõlpsasti mõistetavate veateadetega, näiteks:

{ei olnud kunagi suletud ootamatu EOF parsimise ajal

Veel mõned muudatused hõlmavad järgmist:

Atribuutide vead nagu:

kogudest imporditakse namedtoplo

moodulil "kogud" pole atribuuti "namedtoplo". Kas mõtlesite: nimega?

NameVigade sõnumeid muudetakse järgmiselt:

new_var = 5
print (uus_vr)>

NameError: nimi 'new_vr' pole määratletud. Kas mõtlesite: new_var?

3. Sulgudega kontekstihaldurid

Uued sulgudega kontekstihaldurid võivad muuta teie koodi elegantsemaks. Ehkki see pole peamine funktsioon, võib see teie koodi hõlpsalt vähem kohmakaks muuta. See funktsioon on kasulik, kui töötate meeskonnas ja teie kood tuleb struktureerida.

Kujutage ette, et kirjutate sellise avalduse:

avatud ('file1.txt', 'r') fin, open ('file2.txt', 'w') kui fout:
fout.write (fin.read ())

Ülaltoodud kood töötab, kuid esimene rida on liiga pikk ja tundub kohmakas. Joone saab murda kaldkriipsuga (\) ja tehke kood välja struktureeritud:

avatud ('file1.txt', 'r') fin, \ open ('file2.txt', 'w') kui fout: fout.write (fin.read ())

Uue sulgudega kontekstihalduri kasutuselevõtuga saate rida murda ka sulgude abil:

koos (avatud ('file1.txt', 'r') fin,
avatud ('file2.txt', 'w') kui fout):
fout.write (fin.read ())

Seotud: Algajatele sobivad Pythoni projektiideed

4. Uut tüüpi liiduoperaator

Väike, kuid käepärane funktsioon Python 3.10 -s on uut tüüpi ametioperaator. Igal Pythoni versioonil on eelnevalt määratletud tüübi vihjefunktsioonide komplekt.

Liidu operaator sisaldab tinglikku loogikat; näiteks, int või hõljuma võib kirjutada kui Liit [X, Y]. Uut liidu operaatorit võib väljendada sarnaselt int | hõljuma samuti.

Uue liidu operandi kasutuselevõtt Python 3.10-s säästab aega ja muudab koodi täpselt määratletud.

Näiteks:

def f (x: int | float) -> float:
tagasitulek x * 3.142
f (1) # pass
f (1.5) # pass
f ('str') # linter näitab märkuste viga

Märkimisviga Pythonis

5. Täpsed reanumbrid silumiseks

Võib -olla olete juba mitu korda märganud, et veajälgimine ei suuna teid õigele reale, kus viga ilmnes. See muudab silumise keeruliseks kodeerijatele, kes on just alustanud koodi kirjutamist.

Vigane vigade jälgimine on eriti ilmne kirjutamise ajal sys.seade ja sellega seotud tööriistad Pythonis. Uuem versioon parandab seda oluliselt ja vea ilmnemisel näete täpseid reanumbreid.

Täpsema reanumbri toomiseks nihutab Python 3.10 oma töökindlust praegusest co_Inotab atribuut ja kasutab uut meetodit co_lines () atribuut. See atribuut töötab nii, et f_lineo sisaldab alati täpset rea numbrit.

1. jaoks (
2. x) [1]:
3. üle andma
4. tagasi

Seotud: Siluda oma Pythoni koodi

6. Märkuste hindamine lükati edasi

Pythonis hinnatakse tüübi märkimist funktsiooni määratlemise ajal. See tähendab, et tüüpi märkusi hinnatakse rida-realt ülalt alla.

Kuigi see võib tunduda parim valik, on sellel lähenemisviisil siiski kaks probleemi:

  • Tüübivihjed viitavad tüüpidele, mis pole veel määratletud ja ei tööta; neid vihjeid tuleb väljendada stringidena.
  • Mooduli import aeglustus, kuna tüübivihjeid täidetakse reaalajas.

Täitmisprobleemide vältimiseks salvestatakse märkused kausta _märkused_ ja hindamine toimub koos. See võimaldab edasiviitamist, kuna kõigepealt käivitatakse moodulite import, vähendades seeläbi initsialiseerimisaega.

Töötamine Python 3.10 uusimate funktsioonidega

Pythoni uusim versioon ilmub 4. oktoobril 2021; see lubab parandada olemasolevates versioonides esinevad vead. Järgnevad versioonid parandavad praegust versiooni 3.10.

Struktuurimustrite kaardistamine on selle uue värskenduse tipphetk ja see muudab sarnaste objektide koodide kirjutamise lihtsamaks. Teiste funktsioonide, näiteks sulgudega kontekstihaldurite ja uut tüüpi liiduoperaatorite eesmärk on muuta kood lihtsamaks ja tõhusamaks.

Sellegipoolest on olemasolevates Pythoni versioonides suurepäraseid erandite käsitlemise tehnikaid. Saate Pythoni funktsioone hästi kasutada.

JagaPiiksumaE-post
Kuidas toimida eranditega Pythonis

Katke oma kodeerimisalused Pythoni eranditega.

Loe edasi

Seotud teemad
  • Programmeerimine
  • Programmeerimine
  • Python
  • Näpunäiteid kodeerimiseks
Autori kohta
Wini Bhalla (Avaldatud 21 artiklit)

Wini on Delhis elav kirjanik, kellel on 2 -aastane kirjutamiskogemus. Kirjutamise ajal on ta olnud seotud digitaalturunduse agentuuride ja tehniliste ettevõtetega. Ta on kirjutanud programmeerimiskeelte, pilvetehnoloogia, AWS -i, masinõppe ja palju muud. Vabal ajal meeldib talle maalida, perega aega veeta ja igal võimalusel mägedesse reisida.

Veel Wini Bhallast

Telli meie uudiskiri

Liituge meie uudiskirjaga, kus leiate tehnilisi näpunäiteid, ülevaateid, tasuta e-raamatuid ja eksklusiivseid pakkumisi!

Tellimiseks klõpsake siin