Python 3.10 skryter av att vara en av de mest stabila versionerna som finns tillgängliga för användare att ladda ner, och kommer att släppas senare i år. Den nyligen släppta versionen kommer med många märkbara förändringar, till exempel lättanvända funktioner för både nybörjare och erfarna programmerare.

De uppenbara förbättringarna i den nya Python-versionen inkluderar införandet av strukturellt mönster matchning, bättre felmeddelanden, nya fackföretag, exakta radnummer för felsökning och mycket Mer.

Här är vad du behöver veta om Python 3.10:

Matchning av strukturmönster i Python 3.10

Structural Pattern Matching gör kodskrivning till en film, och det fortsätter att vara en av de framträdande höjdpunkterna i den senaste Python-versionen. Python syftar till att förbättra de befintliga match-case-uttalandena som finns i de tidigare versionerna av programmeringsspråket. Det har uppdaterats de befintliga match-case-uttalandena i Python.

Låt oss ta en snabb titt på implementeringarna av Structural Pattern Matching:

instagram viewer

Match-case-uttalandet har varit en del av Python-språket ett tag nu. Detta uttalande används i princip för att undvika det tråkiga arbetet med att skriva om annat uttalande flera gånger.

Du kan matcha mot objekt med liknande egenskaper med den här funktionen i den nya versionen.

matcha media_object:
case-bild (typ = "jpg"):
# Återvänd som det är
returnera media_object
fallbild (typ = "png") | Bild (typ = "gif"):
returnera render_as (media_object, "jpg")
case Video ():
höja ValueError ("Kan inte extrahera ramar från video ännu")
fall annan_typ:
höja undantaget (f "Mediatyp {media_object} kan inte hanteras ännu")

Det nya pythonbiblioteket känner igen objekt som jpg, gif och videor. Den här koden kan köras sömlöst utan att kasta ett fel.

2. Förbättrade felmeddelanden

Varje kodare förstår sannolikt vikten av fel när man skriver kod och hur upprörande vissa feltyper kan vara. De tidigare versionerna av Python kastade felmeddelanden så snart det fanns problem i syntaxen. Dessa kan bero på fel syntax, saknade sökord, felaktiga eller felstavade sökord, bland andra problem.

Dessa felmeddelanden var långt ifrån perfekta eftersom det blev svårt för nybörjare (ibland även avancerade användare) att identifiera den verkliga orsaken till felet i sina koder. Som programmerare fortsätter Google att vara din allierade i att dechiffrera orsaken till olika felmeddelanden.

Till exempel kanske många inte vet varför Python kastar följande fel:

 SyntaxError: oväntat EOF vid parsning av felmeddelande.

Bristen på tydlighet i sådana uttalanden fick den senaste Python-versionen att förbättra sin befintliga uppsättning felmeddelanden.

De äldre meddelandena har ersatts med lättförståeliga felmeddelanden som:

{stängdes aldrig oväntat EOF vid parsning

Några fler ändringar inkluderar:

Attributfel som:

från samlingsimport med namnet toplo

modulen 'collection' har inget attribut 'namedtoplo'. Menade du: namedtuple?

NameError-meddelanden ändras så att de ser ut:

new_var = 5
skriv ut (ny_vr)>

NameError: namnet 'new_vr' är inte definierat. Menade du: new_var?

3. Parentesiserade kontexthanterare

De nya Parenthesized Context Managers kan göra din kod mer elegant. Även om det inte är en viktig funktion, kan det enkelt göra din kod mindre klumpig. Den här funktionen är bra om du arbetar i ett team och din kod måste struktureras.

Tänk dig att skriva ett uttalande som:

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

Koden ovan fungerar, men den första raden är alldeles för lång och ser klumpig ut. Du kan bryta linjen med en backslash (\) och få koden att se strukturerad ut:

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

Med introduktionen av den nya Parenthesized Context manager kan du också bryta linjen med parenteser:

med (öppen ('file1.txt', 'r') som fin,
öppna ('file2.txt', 'w') som fout):
fout.write (fin.read ())

Relaterad: Python-projektidéer lämpliga för nybörjare

4. Ny typ fackföretag

En liten men praktisk funktion i Python 3.10 är den nya typen av fackförening. Varje Python-version kommer med en fördefinierad uppsättning typtipsfunktioner.

Fackföreningsoperatören inkluderar villkorlig logik; till exempel, int eller flyta kan skrivas som Union [X, Y]. Den nya fackliga operatören kan uttryckas som int | flyta också.

Introduktionen av en ny facklig operand i Python 3.10 är tidsbesparande och får koden att se väldefinierad ut.

Till exempel:

def f (x: int | float) -> float:
return x * 3.142
f (1) # pass
f (1.5) # pass
f ('str') # linter visar anteckningsfel

Anteckningsfel i Python

5. Exakta radnummer för felsökning

Du kanske har märkt många gånger innan felspårningen inte leder dig till rätt rad där ett fel har uppstått. Detta gör felsökning svårt för kodare som just har börjat skriva kod.

Den felaktiga felsökningen är särskilt tydlig när du skriver sys.settrace och relaterade verktyg i Python. Den nyare versionen förbättrar detta avsevärt, och du kan se exakta radnummer när ett fel uppstår.

För att få ett mer exakt radnummer flyttar Python 3.10 sin tillförlitlighet från strömmen co_Inotab attribut och använder den nya metoden co_lines () attribut. Detta attribut fungerar på ett sådant sätt att f_lineo innehåller alltid det korrekta radnumret.

1. för (
2. x) i [1]:
3. passera
4. lämna tillbaka

Relaterad: Felsöka din Python -kod

6. Uppskjuten utvärdering av anteckningar

Inom Python utförs utvärderingen av typannotering vid funktionsdefinitionstid. Detta innebär att typkommentarer utvärderas rad-för-rad uppifrån och ned.

Även om det kan verka som det bästa alternativet, finns det fortfarande två problem med detta tillvägagångssätt:

  • Typtips avser typer som ännu inte är definierade och inte fungerar; dessa tips måste uttryckas som strängar.
  • Modulimporten dämpades när typtips körs i realtid.

För att undvika körningsproblem lagras anteckningar i _annotations_ och utvärdering utförs tillsammans. Detta gör det möjligt att vidarebefordra referenser när modulimport körs först, vilket minskar initialiseringstiden.

Arbeta med de nyaste funktionerna i Python 3.10

Pythons nyaste version släpps den 4 oktober 2021; det lovar att åtgärda de fel som finns i de befintliga versionerna. De versioner som följer kommer att förbättra den nuvarande 3.10 -versionen.

Strukturmönstermappning är höjdpunkten i den här nya uppdateringen, och det gör skrivkoder för liknande objekt enklare. Andra funktioner som Parenthesized Context Managers och ny typ Union Operators syftar till att göra koden enklare och effektivare.

Ändå finns det några utmärkta undantagshanteringstekniker inom de befintliga Python -versionerna. Du kan använda Pythons funktioner på ett bra sätt.

Dela med sigTweetE-post
Hur man hanterar undantag i Python

Täck dina kodningsbaser med Python -undantag.

Läs Nästa

Relaterade ämnen
  • Programmering
  • Programmering
  • Pytonorm
  • Kodningstips
Om författaren
Wini Bhalla (21 artiklar publicerade)

Wini är en författare i Delhi som har två års erfarenhet av att skriva. Under hennes skrivstunder har hon varit associerad med digitala marknadsföringsbyråer och tekniska företag. Hon har skrivit innehåll relaterat till programmeringsspråk, molnteknik, AWS, maskininlärning och mycket mer. På fritiden gillar hon att måla, umgås med sin familj och resa till bergen, när det är möjligt.

Mer från Wini Bhalla

Prenumerera på vårt nyhetsbrev

Gå med i vårt nyhetsbrev för tekniska tips, recensioner, gratis e -böcker och exklusiva erbjudanden!

Klicka här för att prenumerera