Python 3.10 se može pohvaliti kao jedna od najstabilnijih verzija dostupnih korisnicima za preuzimanje, a bit će objavljena kasnije ove godine. Nedavno objavljena verzija donijet će mnoge zamjetne promjene, poput funkcionalnosti jednostavnih za korištenje kako za početnike tako i za iskusne programere.
Očigledna poboljšanja u novoj verziji Pythona uključuju uvođenje strukturnih uzoraka podudaranje, bolje poruke o pogreškama, novi sindikalni operatori, točni brojevi redaka za ispravljanje pogrešaka i još mnogo toga više.
Evo što trebate znati o Pythonu 3.10:
Podudaranje strukturnih uzoraka u Pythonu 3.10
Podudaranje strukturnih uzoraka čini pisanje koda laganim i nastavlja biti jedan od istaknutih naglasaka najnovije verzije Pythona. Python ima za cilj poboljšati već postojeće izraze podudaranja velikih slova prisutne u prethodnim verzijama programskog jezika. Ažurirano je postojeće izjave podudaranja slučaja unutar Pythona.
Pogledajmo nakratko implementacije podudaranja strukturnih uzoraka:
Izjava match-case već je neko vrijeme dio jezika Python. Ova se izjava u osnovi koristi kako bi se izbjegao dosadan rad na pisanju ako-drugo izjava više puta.
Pomoću ove značajke u novoj verziji možete uporediti objekte sa sličnim svojstvima.
podudaranje medija_objekta:
slika kućišta (type = "jpg"):
# Vratite se kakvi jeste
return media_object
slika kućišta (type = "png") | Slika (type = "gif"):
return render_as (medijski_objekt, "jpg")
video slučaj ():
podići ValueError ("Još se ne mogu izdvojiti okviri iz videozapisa")
slučaj drugi_tip:
raise Exception (f "Vrsta medija {media_object} još se ne može obraditi")
Nova knjižnica python prepoznaje objekte poput jpg, gif i video zapisa. Ovaj kôd može raditi besprijekorno bez greške.
2. Poboljšane poruke o pogreškama
Svaki koder vjerojatno razumije važnost pogrešaka pri pisanju koda i koliko neke vrste pogrešaka mogu razbjesniti. Prethodne verzije Pythona bacale su poruke o pogreškama čim je došlo do problema u sintaksi. To bi moglo biti posljedica pogrešne sintakse, nedostajućih ključnih riječi, pogrešnih ili pogrešno napisanih ključnih riječi.
Ove poruke o pogreškama bile su daleko od savršenih jer je početnicima (ponekad, čak i naprednim korisnicima) postalo teško identificirati pravi uzrok pogreške u svojim kodovima. Kao programer, Google je i dalje vaš saveznik u dešifriranju razloga za različite poruke o pogreškama.
Na primjer, mnogi ljudi možda ne znaju zašto Python baca sljedeću pogrešku:
SyntaxError: neočekivani EOF prilikom raščlanjivanja poruke o pogrešci.
Nedostatak jasnoće u takvim izjavama potaknuo je najnoviju verziju Pythona da poboljša postojeći skup poruka o pogreškama.
Starije poruke zamijenjene su lako razumljivim porukama o pogreškama poput:
{nije nikada bio zatvoren neočekivani EOF tijekom raščlanjivanja
Još neke promjene uključuju:
Pogreške atributa poput:
iz zbirki uvoz namedtoplo
modul 'collections' nema atribut 'namedtoplo'. Jeste li mislili: namedtuple?
Poruke NameError mijenjaju se tako da izgledaju:
novi_var = 5
ispis (new_vr)>
NameError: naziv 'new_vr' nije definiran. Jeste li mislili: new_var?
3. Upravitelji konteksta u zagradama
Novi Parenthesized Context Managers mogu učiniti vaš kod elegantnijim. Iako to nije glavna značajka, vaš kod može lako učiniti manje nespretnim. Ova je značajka korisna ako radite u timu i vaš kôd mora biti strukturiran.
Zamislite da napišete izjavu poput:
s open ('file1.txt', 'r') kao perajom, open ('file2.txt', 'w') kao fout:
fout.write (fin.read ())
Gornji kôd radi, ali prvi redak je predug i izgleda nespretno. Možete prelomiti liniju pomoću obrnute kose crte ((\) i učinite da kôd izgleda strukturirano:
s open ('file1.txt', 'r') kao fin, \ open ('file2.txt', 'w') kao fout: fout.write (fin.read ())
Uvođenjem novog upravitelja konteksta u zagradama, također možete prelomiti redak koristeći zagrade:
s (open ('file1.txt', 'r') kao peraja,
otvoriti ('file2.txt', 'w') kao fout):
fout.write (fin.read ())
Povezano: Ideje za Python projekte prikladne za početnike
4. Novi tip sindikalnog operatora
Mala, ali zgodna značajka u Pythonu 3.10 je novi tip sindikalnog operatora. Svako izdanje Pythona dolazi s unaprijed definiranim skupom značajki nagovještaja tipa.
Sindikalni operator uključuje uvjetnu logiku; na primjer, int ili plutati može se napisati kao Union [X, Y]. Novi sindikalni operater može se izraziti poput int | float također.
Uvođenje novog sindikalnog operanda u Python 3.10 štedi vrijeme i čini da kôd izgleda dobro definirano.
Na primjer:
def f (x: int | float) -> float:
povrat x * 3.142
f (1) # prolaz
f (1.5) # prolaz
f ('str') # linter prikazat će pogrešku napomene
5. Precizni brojevi linija za otklanjanje pogrešaka
Možda ste već puno puta primijetili da vas praćenje pogrešaka ne preusmjerava na ispravan redak u kojem se dogodila pogreška. To otežava otklanjanje pogrešaka programerima koji su tek počeli pisati kôd.
Neispravno traženje pogrešaka posebno je očito tijekom pisanja sys.settrace i srodni alati u Pythonu. Novija verzija to značajno poboljšava i možete vidjeti precizne brojeve redaka kada se dogodi pogreška.
Da bi dobio precizniji broj linije, Python 3.10 pomiče svoju pouzdanost s trenutne co_Inotab atribut i koristi novu metodu co_lines () atribut. Ovaj atribut djeluje na takav način da f_lineo uvijek sadrži točan broj retka.
1. za (
2. x) u [1]:
3. proći
4. povratak
Povezano: Otklonite pogreške u svom Python kodu
6. Odgođena ocjena napomena
Unutar Pythona, procjena oznake tipa vrši se u vrijeme definiranja funkcije. To znači da se napomene o vrstama ocjenjuju redom po liniji odozgo prema dolje.
Iako se možda čini najboljom opcijom, ovaj pristup još uvijek ima dva problema:
- Savjeti za tipove odnose se na vrste koje još nisu definirane i ne rade; ove savjete treba izraziti kao nizove.
- Uvoz modula usporava se kako se nagovještaji tipova izvršavaju u stvarnom vremenu.
Da bi se izbjegli problemi s izvršenjem, bilješke se spremaju u _notacije_ a evaluacija se izvodi zajedno. To omogućuje prosljeđivanje referenci jer se prvo izvršavaju uvozi modula, smanjujući time vrijeme inicijalizacije.
Rad s najnovijim značajkama u Pythonu 3.10
Pythonova najnovija verzija izlazi 4. listopada 2021; obećava ispraviti programske pogreške prisutne u postojećim verzijama. Verzije koje slijede poboljšat će trenutnu verziju 3.10.
Mapiranje strukturnih uzoraka vrhunac je ovog novog ažuriranja i olakšava pisanje kodova za slične objekte. Druge značajke poput upravitelja kontekstom u zagradama i Union Type Operators novog tipa žele učiniti kôd jednostavnijim i učinkovitijim.
Ipak, postoje neke izvrsne tehnike rukovanja iznimkama unutar postojećih verzija Pythona. Možete dobro iskoristiti Pythonove funkcionalnosti.
Pokrijte svoje baze kodiranja iznimkama Pythona.
Pročitajte Dalje
- Programiranje
- Programiranje
- Piton
- Savjeti za kodiranje
Wini je spisateljica iz Delhija, koja ima 2 godine spisateljskog iskustva. Tijekom svog pisanja bila je povezana s agencijama za digitalni marketing i tehničkim tvrtkama. Napisala je sadržaje koji se odnose na programske jezike, tehnologiju u oblaku, AWS, Strojno učenje i još mnogo toga. U slobodno vrijeme voli slikati, provoditi vrijeme s obitelji i putovati u planine, kad god je to moguće.
Pretplatite se na naše obavijesti
Pridružite se našem biltenu za tehničke savjete, recenzije, besplatne e -knjige i ekskluzivne ponude!
Kliknite ovdje da biste se pretplatili