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 strukturnog podudaranja uzoraka, bolje poruke o pogreškama, nove sindikalne operatore, točne brojeve redaka za ispravljanje pogrešaka i još mnogo toga.
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 u Pythonu.
Pogledajmo nakratko implementacije podudaranja strukturnih uzoraka:
Naredba 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.
match media_object:case Image(type='jpg'):# Return as-isreturn media_objectcase Image(type='png') | Image(type='gif'):return render_as(media_object, 'jpg')case Video():raise ValueError('Can't extract frames from video yet')case other_type:raise Exception(f'Media type {media_object} can't be handled yet')
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 različitih poruka o pogreškama.
kako obrisati druge na iphoneu
Na primjer, mnogi ljudi možda ne znaju zašto Python baca sljedeću pogrešku:
SyntaxError: unexpected EOF while parsing error message.
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:
from collections import namedtoplo
modul 'collections' nema atribut 'namedtoplo'. Jeste li mislili: namedtuple?
Poruke NameError mijenjaju se tako da izgledaju:
new_var = 5print(new_vr)>
NameError: naziv 'new_vr' nije definiran. Jeste li mislili: new_var?
3. Parentezirani upravitelji konteksta
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:
with open('file1.txt', 'r') as fin, open('file2.txt', 'w') as fout:fout.write(fin.read())
Gornji kôd radi, ali prvi redak je predug i izgleda nespretno. Redak možete prelomiti obrnutom kosom crtom ( ) i učinite da kôd izgleda strukturirano:
with open('file1.txt', 'r') as fin, open('file2.txt', 'w') as fout: fout.write(fin.read())
Uvođenjem novog upravitelja konteksta u zagradama, također možete prelomiti redak koristeći zagrade:
with (open('file1.txt', 'r') as fin,open('file2.txt', 'w') as fout):fout.write(fin.read())
Povezano: Ideje za Python projekte prikladne za početnike
4. Operater novog tipa Union
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.
kako dobiti više nagrada za google mišljenje
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: return x * 3.142f(1) # passf(1.5) # passf('str') # linter will show annotation error
5. Točni brojevi linija za ispravljanje pogrešaka
Možda ste primijetili mnogo puta prije nego vas praćenje grešaka ne preusmjeri na ispravan redak u kojem je došlo do pogreške. To otežava otklanjanje pogrešaka programerima koji su tek počeli pisati kôd.
Nedostatak praćenja grešaka posebno je očit tijekom pisanja sys.settrace i srodni alati u Pythonu. Novija verzija to značajno poboljšava i možete vidjeti precizne brojeve redaka kada dođe do pogreške.
Kako bi donio precizniji broj redaka, Python 3.10 mijenja svoju pouzdanost od trenutne co_Inotab atribut i koristi novu metodu co_lines () atribut. Ovaj atribut djeluje na način da je f_lineo uvijek sadrži točan broj retka.
1. for (2. x) in [1]:3. pass4. return
Povezano: Otklonite pogreške u svom Python kodu
6. Odgođeno ocjenjivanje napomena
Unutar Pythona evaluacija oznaka tipa vrši se u vrijeme definiranja funkcije. To znači da se napomene o tipovima ocjenjuju line-by-line na način odozgo prema dolje.
Iako se može činiti da je to najbolja opcija, još uvijek postoje dva problema u ovom pristupu:
- Savjeti za vrste odnose se na vrste koje još nisu definirane i ne rade; ti se savjeti moraju izraziti kao nizovi.
- Uvoz modula usporio se jer se natuknice tipa izvršavaju u stvarnom vremenu.
Kako bi se izbjegli problemi s izvršavanjem, napomene se spremaju u _obilješke_ a evaluacija se obavlja zajedno. To omogućuje referenciranje prema naprijed jer se uvoz modula prvo izvršava, čime se skraćuje vrijeme inicijalizacije.
Rad s najnovijim značajkama u Pythonu 3.10
Najnovija verzija Pythona bit će objavljena 4. listopada 2021. godine; obećava popravljanje grešaka prisutnih u postojećim verzijama. Verzije koje slijede poboljšat će trenutnu verziju 3.10.
Mapiranje strukturnih uzoraka vrhunac je ovog novog ažuriranja i pojednostavljuje pisanje kodova za slične objekte. Druge značajke, kao što su Parenthesized Context Managers i nove vrste Union Operators, nastoje učiniti kod jednostavnijim i učinkovitijim.
Ipak, postoje neke izvrsne tehnike rukovanja iznimkama unutar postojećih verzija Pythona. Možete dobro iskoristiti Pythonove funkcionalnosti.
Udio Udio Cvrkut E -pošta Kako se nositi s iznimkama u PythonuPokrijte svoje baze kodiranja iznimkama Pythona.
Pročitajte Dalje Povezane teme- Programiranje
- Programiranje
- Piton
- Savjeti za kodiranje
Wini je spisateljica sa sjedištem u Delhiju, s 2 godine iskustva u pisanju. Tijekom svog pisanja bila je povezana s agencijama za digitalni marketing i tehničkim tvrtkama. Napisala je sadržaj koji se odnosi na programske jezike, cloud tehnologiju, AWS, Machine Learning i još mnogo toga. U slobodno vrijeme voli slikati, provoditi vrijeme s obitelji i putovati u planine, kad god je to moguće.
Više od Winija BhallePretplatite se na naše obavijesti
Pridružite se našem biltenu za tehničke savjete, recenzije, besplatne e -knjige i ekskluzivne ponude!
Kliknite ovdje za pretplatu