Python 3.10s 6 beste funksjoner

Python 3.10s 6 beste funksjoner

Python 3.10 skryter av å være en av de mest stabile versjonene som er tilgjengelig for brukere å laste ned, og vil bli utgitt senere i år. Den nylig utgitte versjonen kommer med mange merkbare endringer, for eksempel brukervennlige funksjoner for både nybegynnere og erfarne programmerere.





De klare forbedringene i den nye Python -versjonen inkluderer introduksjon av strukturmønstermatching, bedre feilmeldinger, nye fagforeningsoperatører, nøyaktige linjenumre for feilsøking og mye mer.





Her er hva du trenger å vite om Python 3.10:



Strukturell mønstermatching i Python 3.10

Strukturell mønstermatching gjør kodeskriving til en film, og det fortsetter å være et av de fremtredende høydepunktene i den siste Python -versjonen. Python har som mål å forbedre de eksisterende match-case-uttalelsene som finnes i de tidligere versjonene av programmeringsspråket. Den har gjort en oppdatering av de eksisterende match-case-uttalelsene i Python.

La oss ta en rask titt på implementeringene av Structural Pattern Matching:



Match-case-uttalelsen har vært en del av Python-språket en stund nå. Denne uttalelsen brukes i utgangspunktet for å unngå det kjedelige arbeidet med å skrive hvis-annet uttalelse flere ganger.

Du kan matche mot objekter med lignende egenskaper ved å bruke denne funksjonen i det nye bygget.





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')

Det nye pythonbiblioteket gjenkjenner objekter som jpg, gif og videoer. Denne koden kan kjøres sømløst uten å kaste en feil.

2. Forbedrede feilmeldinger

Hver koder forstår sannsynligvis viktigheten av feil mens du skriver kode, og hvor irriterende noen feiltyper kan være. De tidligere versjonene av Python sendte feilmeldinger så snart det var problemer i syntaksen. Disse kan blant annet skyldes feil syntaks, manglende søkeord, feil eller feilstavede søkeord.





Disse feilmeldingene var langt fra perfekte, da det ble vanskelig for nybegynnere (noen ganger, til og med avanserte brukere) å identifisere den virkelige årsaken til feilen i kodene sine. Som programmerer fortsetter Google å være din allierte med å tyde årsaken bak forskjellige feilmeldinger.

slett tidsmaskinens sikkerhetskopier fra papirkurven

For eksempel vet kanskje ikke mange mennesker hvorfor Python kaster følgende feil:

SyntaxError: unexpected EOF while parsing error message.

Mangelen på klarhet i slike uttalelser fikk den nyeste Python -versjonen til å forbedre det eksisterende settet med feilmeldinger.

De eldre meldingene er erstattet med lett forståelige feilmeldinger som:

{ble aldri stengt uventet EOF under analyse

Noen flere endringer inkluderer:

Attributtfeil som:

from collections import namedtoplo

modulen 'samlinger' har ingen attributt 'namedtoplo'. Mente du: namedtuple?

NameError -meldinger er endret for å se slik ut:

new_var = 5print(new_vr)>

NameError: navn 'new_vr' er ikke definert. Mente du: new_var?

3. Parenthesized Context Managers

De nye Parenthesized Context Managers kan få koden til å se mer elegant ut. Selv om det ikke er en viktig funksjon, kan det enkelt gjøre koden din mindre klumpete. Denne funksjonen er fordelaktig hvis du jobber i et team og koden din må være strukturert.

Tenk deg å skrive en uttalelse som:

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

Koden ovenfor fungerer, men den første linjen er altfor lang og ser klønete ut. Du kan bryte linjen ved å bruke en skråstrek ( ) og få koden til å se strukturert ut:

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

Med introduksjonen av den nye Parenthesized Context Manager, kan du også bryte linjen ved hjelp av parenteser også:

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

I slekt: Python -prosjektideer som passer for nybegynnere

4. Ny type fagforeningsoperatør

En liten, men praktisk funksjon i Python 3.10 er den nye typen fagforeningsoperatør. Hver Python-utgivelse kommer med et forhåndsdefinert sett med typetips.

chrome bruker for mye minne

Fagforeningsoperatøren inkluderer betinget logikk; for eksempel, int eller flyte kan skrives som Union [X, Y] . Den nye fagforeningsoperatøren kan uttrykkes som int | flyte også.

Innføringen av en ny fagforeningsoperand i Python 3.10 er tidsbesparende og får koden til å se veldefinert ut.

For eksempel:

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

5. Presise linjenumre for feilsøking

Du har kanskje lagt merke til mange ganger før at feilsporing ikke omdirigerer deg til den riktige linjen der det har oppstått en feil. Dette gjør feilsøking vanskelig for kodere som nettopp har begynt å skrive kode.

Den mangelfulle feilsøkingen er spesielt tydelig når du skriver sys.settrace og relaterte verktøy i Python. Den nyere versjonen forbedrer dette betydelig, og du kan se presise linjenumre når det oppstår en feil.

For å få et mer presist linjenummer, flytter Python 3.10 påliteligheten fra strømmen co_Inotab attributt og bruker den nye metoden co_lines () Egenskap. Dette attributtet fungerer på en slik måte at f_lineo inneholder alltid det nøyaktige linjenummeret.

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

Relatert: Feilsøk din Python -kode

6. Utsatt evaluering av merknader

Innenfor Python utføres evalueringen av typen annotering på funksjonstidens definisjonstidspunkt. Dette betyr at typeanmerkninger evalueres linje for linje på en topp-ned-måte.

Selv om det kan virke som det beste alternativet, er det fortsatt to problemer med denne tilnærmingen:

  • Typetips refererer til typer som ikke er definert ennå og som ikke fungerer; disse hintene må uttrykkes som strenger.
  • Modulimporten ble redusert ettersom typetips kjøres i sanntid.

For å unngå problemer med utførelse, lagres merknader i _annotations_ og evaluering utføres sammen. Dette gjør det mulig å videresende referanser når modulimport utføres først, og reduserer dermed initialiseringstiden.

Arbeide med de nyeste funksjonene i Python 3.10

Pythons nyeste versjon kommer ut 4. oktober 2021; det lover å fikse feilene som er tilstede i de eksisterende versjonene. Versjonene som følger vil forbedre den nåværende 3.10 -versjonen.

Strukturell mønsterkartlegging er høydepunktet i denne nye oppdateringen, og det gjør det enklere å skrive koder for lignende objekter. Andre funksjoner som Parenthesized Context Managers og nye type Union Operators tar sikte på å gjøre koden enklere og effektiv.

Likevel er det noen gode teknikker for unntakshåndtering i de eksisterende Python -versjonene. Du kan gjøre god bruk av Pythons funksjoner.

Dele Dele kvitring E -post Hvordan håndtere unntak i Python

Dekk kodingsbaser med Python -unntak.

Les neste
Relaterte temaer
  • Programmering
  • Programmering
  • Python
  • Kodetips
Om forfatteren Wini Bhalla(41 artikler publisert)

Wini er en Delhi -basert forfatter, som har 2 års skriveerfaring. I løpet av skrivestundene har hun vært tilknyttet digitale markedsføringsbyråer og tekniske firmaer. Hun har skrevet innhold relatert til programmeringsspråk, skyteknologi, AWS, maskinlæring og mye mer. På fritiden liker hun å male, tilbringe tid med familien og reise til fjells når det er mulig.

Mer fra Wini Bhalla

Abonner på vårt nyhetsbrev

Bli med i vårt nyhetsbrev for tekniske tips, anmeldelser, gratis ebøker og eksklusive tilbud!

Klikk her for å abonnere