Python 3.10: s 6 bästa användbara funktioner

Python 3.10: s 6 bästa användbara funktioner

Python 3.10 skryter med 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 introduktion av strukturmönstermatchning, bättre felmeddelanden, nya fackoperatörer, exakta radnummer för felsökning och mycket mer.





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





Strukturmönstermatchning i Python 3.10

Strukturmönstermatchning 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 existerande match-case-uttalanden som finns i de tidigare versionerna av programmeringsspråket. Det har gjort en uppdatering av de befintliga match-case-uttalandena i Python.

Låt oss ta en snabb titt på implementeringarna av strukturmönstermatchning:



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 objekt med liknande egenskaper med den här funktionen i det nya 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 nya pythonbiblioteket känner igen objekt som jpg, gif och videor. Denna kod 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 du skriver kod och hur irriterande vissa feltyper kan vara. De tidigare versionerna av Python skickade felmeddelanden så snart det uppstod problem i syntaxen. Dessa kan bero på fel syntax, saknade sökord, felaktiga eller felstavade sökord, bland andra frågor.





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 deras koder. Som programmerare fortsätter Google att vara din allierade när det gäller att dechiffrera orsaken bakom olika felmeddelanden.

samsung s21 ultra vs iphone 12 pro max

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

SyntaxError: unexpected EOF while parsing error message.

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åliga felmeddelanden som:

{stängdes aldrig oväntad EOF under analys

Några fler ändringar inkluderar:

Attributfel som:

from collections import namedtoplo

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

NameError -meddelanden ändras för att se ut så här:

new_var = 5print(new_vr)>

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

3. Parenthesized Context Managers

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

Tänk dig att skriva ett uttalande som:

with open('file1.txt', 'r') as fin, open('file2.txt', 'w') as 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 ett snedstreck ( ) och få koden att se strukturerad ut:

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

Med introduktionen av den nya Parenthesized Context Manager kan du också bryta linjen med hjälp av parenteser också:

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

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

4. Ny typunionoperatör

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

hur man fixar Windows 10 blå skärm

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 | float också.

Introduktionen av en ny fackoperand 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.142f(1) # passf(1.5) # passf('str') # linter will show annotation error

5. Exakta radnummer för felsökning

Du kanske har märkt många gånger innan att felspårning inte leder dig till rätt rad där ett fel har inträffat. 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. for (2. x) in [1]:3. pass4. return

Relaterat: 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 på ett sätt 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 som 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 modulimporten 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 sig Dela med sig Tweet E-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(41 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