6 najboljših uporabnih funkcij Pythona 3.10

6 najboljših uporabnih funkcij Pythona 3.10

Python 3.10 se ponaša kot ena najstabilnejših različic, ki so na voljo za prenos uporabnikom, in bo izšla pozneje letos. Na novo izdana različica bo doživela številne opazne spremembe, na primer enostavne funkcije za začetnike in izkušene programerje.





Očitne izboljšave v novi različici Pythona vključujejo uvedbo ujemanja strukturnih vzorcev, boljša sporočila o napakah, nove sindikalne operaterje, natančne številke vrstic za odpravljanje napak in še veliko več.





Tukaj morate vedeti o Pythonu 3.10:





Ujemanje strukturnih vzorcev v Pythonu 3.10

Zaradi ujemanja strukturnih vzorcev je pisanje kode preprosto in je še vedno eden najpomembnejših vrhuncev najnovejše različice Pythona. Namen Pythona je izboljšati že obstoječe stavke za primerjavo velikih črk, ki so prisotni v prejšnjih različicah programskega jezika. Posodobil je obstoječe stavke primerjalnih primerov v Pythonu.

Na kratko poglejmo izvedbe ujemanja strukturnih vzorcev:



Izjava match-case je že nekaj časa del jezika Python. Ta izjava se v bistvu uporablja za izogibanje dolgočasnemu pisanju če potem izjavo večkrat.

S to funkcijo se lahko ujemate s predmeti s podobnimi lastnostmi v novi zgradbi.





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 prepozna predmete, kot so jpg, gif in videoposnetki. Ta koda lahko deluje brez težav, ne da bi pri tem prišlo do napake.

2. Izboljšana sporočila o napakah

Vsak koder verjetno razume pomen napak pri pisanju kode in kako moteče so lahko nekatere vrste napak. Prejšnje različice Pythona so vrnile sporočila o napakah takoj, ko je prišlo do težav v sintaksi. To so lahko med drugim posledica napačne sintakse, manjkajočih ključnih besed, napačnih ali napačno napisanih ključnih besed.





Ta sporočila o napakah še zdaleč niso bila popolna, saj je začetnikom (včasih celo naprednim uporabnikom) postalo težko ugotoviti pravi vzrok napake v njihovih kodah. Kot programer je Google še vedno vaš zaveznik pri dešifriranju vzrokov za različna sporočila o napakah.

premaknite program z enega pogona na drugega

Mnogi ljudje na primer morda ne vedo, zakaj Python vrže naslednjo napako:

SyntaxError: unexpected EOF while parsing error message.

Pomanjkanje jasnosti v teh izjavah je najnovejšo različico Pythona spodbudilo k izboljšanju obstoječega nabora sporočil o napakah.

Starejša sporočila so bila zamenjana z lahko razumljivimi sporočili o napakah, kot so:

{ni bil nikoli zaprt nepričakovani EOF med razčlenjevanjem

Še nekaj sprememb vključuje:

Napake atributov, kot so:

from collections import namedtoplo

modul 'collections' nima atributa 'namedtoplo'. Ste mislili: namedtuple?

Sporočila NameError so spremenjena tako, da izgledajo tako:

new_var = 5print(new_vr)>

NameError: ime 'new_vr' ni definirano. Ste mislili: new_var?

3. Nadrejeni upravitelji konteksta

Z novimi upravitelji konteksta, ki so podprti, lahko vaša koda izgleda bolj elegantno. Čeprav to ni glavna funkcija, lahko vašo kodo z lahkoto naredi manj okorno. Ta funkcija je koristna, če delate v skupini in mora biti vaša koda strukturirana.

Predstavljajte si, da napišete izjavo, kot je:

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

Zgornja koda deluje, vendar je prva vrstica predolga in izgleda nerodno. Vrstico lahko prekinete s poševnico (( ) in naredite kodo strukturirano:

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

Z uvedbo novega upravitelja kontekstnega konteksta lahko vrstico prekinete tudi z oklepaji:

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

Povezano: Ideje za Python projekt primerne za začetnike

4. Operater nove vrste Union

Majhna, a priročna funkcija v Pythonu 3.10 je nova vrsta sindikalnega operaterja. Vsaka izdaja Python ima vnaprej določen nabor funkcij namigov za tip.

kaj je wsappx (2)

Sindikalni operater vključuje pogojno logiko; na primer int ali plavati lahko zapišemo kot Union [X, Y] . Novi sindikalni operater se lahko izrazi tako int | float tudi.

Uvedba novega operacijskega zveze v Pythonu 3.10 prihrani čas in naredi kodo dobro definirano.

Na primer:

def f(x: int | float) -> float: return x * 3.142f(1) # passf(1.5) # passf('str') # linter will show annotation error

5. Natančne številke vrstic za odpravljanje napak

Morda ste že večkrat opazili, da vas sledenje napak ne preusmeri v pravo vrstico, kjer je prišlo do napake. To otežuje odpravljanje napak za kodirnike, ki so šele začeli pisati kodo.

Pomanjkljivo sledenje napakam je še posebej očitno pri pisanju sys.settrace in sorodna orodja v Pythonu. Novejša različica to bistveno izboljša in ob napaki lahko vidite natančne številke vrstic.

Za natančnejšo številko vrstice Python 3.10 zanesljivost premakne s trenutne co_Inotab atribut in uporablja novo metodo co_lines () atribut. Ta atribut deluje tako, da je f_lineo vedno vsebuje natančno številko vrstice.

1. for (2. x) in [1]:3. pass4. return

Povezano: Odpravite napako v kodi Python

6. Odloženo vrednotenje pripisov

V Pythonu se ovrednotenje oznak tipa izvede v času opredelitve funkcije. To pomeni, da se pripisi vrst ocenjujejo po vrsticah od zgoraj navzdol.

Čeprav se morda zdi najboljša možnost, obstajata pri tem pristopu še dve težavi:

  • Namigi za vrste se nanašajo na vrste, ki še niso določene in ne delujejo; te namige je treba izraziti kot nize.
  • Uvoz modula se je upočasnil, saj se namigi o tipu izvajajo v realnem času.

Da bi se izognili težavam pri izvajanju, so pripisi shranjeni v _opombe_ in vrednotenje se izvede skupaj. To omogoča vnaprejšnje sklicevanje, ko se najprej izvede uvoz modulov, s čimer se skrajša čas inicializacije.

Delo z najnovejšimi funkcijami v Pythonu 3.10

Najnovejša različica Pythona bo izšla 4. oktobra 2021; obljublja odpravo napak, ki so prisotne v obstoječih različicah. Različice, ki sledijo, bodo izboljšale trenutno različico 3.10.

Vrhunec te nove posodobitve je kartiranje strukturnih vzorcev, ki olajša pisanje kod za podobne predmete. Druge funkcije, kot so upravitelji konteksta v parentezih in novi operaterji Union, si prizadevajo za poenostavitev in učinkovitost kode.

Kljub temu obstaja nekaj odličnih tehnik obravnave izjem v obstoječih različicah Pythona. Pythonove funkcije lahko dobro izkoristite.

Deliti Deliti Cvrkutati E-naslov Kako ravnati z izjemami v Pythonu

Pokrijte svoje baze kodiranja z izjemami Python.

Preberite Naprej
Sorodne teme
  • Programiranje
  • Programiranje
  • Python
  • Nasveti za kodiranje
O avtorju Wini Bhalla(41 objavljenih člankov)

Wini je pisatelj iz Delhija, ki ima dve leti pisnih izkušenj. V času pisanja je bila povezana z agencijami za digitalno trženje in tehničnimi podjetji. Napisala je vsebino v zvezi s programskimi jeziki, tehnologijo v oblaku, AWS, strojnim učenjem in še veliko več. V prostem času rada slika, preživi čas z družino in potuje v hribe, kadar koli je to mogoče.

Več od Wini Bhalla

Naročite se na naše novice

Pridružite se našemu glasilu za tehnične nasvete, ocene, brezplačne e -knjige in ekskluzivne ponudbe!

Kliknite tukaj, če se želite naročiti