Python 3.10 kan prale af at være en af ​​de mest stabile versioner, der kan downloades af brugere, og vil blive frigivet senere på året. Den nyudgivne version kommer med mange mærkbare ændringer, såsom brugervenlige funktioner til både nybegyndere og erfarne programmører.

De klare forbedringer i den nye Python -version inkluderer introduktion af strukturmønster matchning, bedre fejlmeddelelser, nye fagforeningsoperatører, præcise linjenumre til fejlfinding og meget mere.

Her er hvad du behøver at vide om Python 3.10:

Strukturmønster Matching i Python 3.10

Strukturel mønstermatchning gør kodeskrivning til en film, og det er fortsat et af de fremtrædende højdepunkter i den seneste Python -version. Python sigter mod at forbedre de eksisterende match-case-udsagn, der findes i de tidligere versioner af programmeringssproget. Det har foretaget en opdatering af de eksisterende match-case-erklæringer i Python.

Lad os tage et hurtigt kig på implementeringerne af strukturmønster -matchning:

instagram viewer

Match-case-erklæringen har været en del af Python-sproget i et stykke tid nu. Denne erklæring bruges dybest set til at undgå det kedelige arbejde med at skrive hvis ellers udsagn flere gange.

Du kan matche mod objekter med lignende egenskaber ved hjælp af denne funktion i det nye byggeri.

match media_object:
case -billede (type = "jpg"):
# Retur som den er
returner media_object
case Billede (type = "png") | Billede (type = "gif"):
return render_as (media_object, "jpg")
case Video ():
raise ValueError ("Kan ikke udtrække rammer fra video endnu")
case anden_type:
raise Exception (f "Medietype {media_object} kan ikke håndteres endnu")

Det nye python -bibliotek genkender objekter som jpg, gif og videoer. Denne kode kan køre problemfrit uden at kaste en fejl.

2. Forbedrede fejlmeddelelser

Hver koder forstår sandsynligvis vigtigheden af ​​fejl, mens du skriver kode, og hvor irriterende nogle fejltyper kan være. De tidligere versioner af Python sendte fejlmeddelelser, så snart der var problemer i syntaksen. Disse kan blandt andet skyldes den forkerte syntaks, manglende søgeord, forkerte eller stavede søgeord.

Disse fejlmeddelelser var langt fra perfekte, da det blev svært for begyndere (nogle gange, selv avancerede brugere) at identificere den virkelige årsag til fejlen i deres koder. Som programmerer er Google fortsat din allierede med at dechifrere årsagen bag forskellige fejlmeddelelser.

For eksempel ved mange mennesker måske ikke, hvorfor Python kaster følgende fejl:

 SyntaxError: uventet EOF under parsing af fejlmeddelelse.

Manglen på klarhed i sådanne udsagn fik den nyeste Python -version til at forbedre sit eksisterende sæt fejlmeddelelser.

De ældre meddelelser er blevet erstattet med letforståelige fejlmeddelelser som:

{blev aldrig lukket uventet EOF under parsing

Nogle flere ændringer omfatter:

Attributfejl som:

fra samlinger import namedtoplo

modul 'samlinger' har ingen attribut 'namedtoplo'. Mente du: namedtuple?

NameError -meddelelser ændres til at se ud som:

new_var = 5
print (new_vr)>

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

3. Parentesized Context Managers

De nye Parenthesized Context Managers kan få din kode til at se mere elegant ud. Selvom det ikke er en vigtig funktion, kan det let gøre din kode mindre klodset. Denne funktion er fordelagtig, hvis du arbejder i et team, og din kode skal struktureres.

Forestil dig at skrive en erklæring som:

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

Koden ovenfor fungerer, men den første linje er alt for lang og ser klodset ud. Du kan bryde linjen ved at bruge en omvendt skråstreg (\) og få koden til at se struktureret ud:

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

Med introduktionen af ​​den nye Parenthesized Context Manager kan du også bryde linjen ved hjælp af parenteser:

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

Relaterede: Python -projektideer velegnet til begyndere

4. Ny type fagforeningsoperatør

En lille, men praktisk funktion i Python 3.10 er den nye type fagforeningsoperatør. Hver Python-udgivelse leveres med et foruddefineret sæt type-tip-funktioner.

Fagforeningsoperatøren inkluderer betinget logik; for eksempel, int eller flyde kan skrives som Forening [X, Y]. Den nye fagforeningsoperatør kan udtrykkes som int | float også.

Introduktionen af ​​en ny fagforeningsoperand i Python 3.10 er tidsbesparende og får koden til at se veldefineret ud.

For eksempel:

def f (x: int | float) -> float:
return x * 3.142
f (1) # pass
f (1.5) # bestå
f ('str') # linter viser annotationsfejl

Annotationsfejl i Python

5. Præcise linjenumre til fejlfinding

Du har måske bemærket mange gange før, at fejlsporing ikke omdirigerer dig til den rigtige linje, hvor der er opstået en fejl. Dette gør fejlretning vanskelig for kodere, der lige er begyndt at skrive kode.

Den fejlbehæftede fejlsporing er især tydelig under skrivning sys.settrace og relaterede værktøjer i Python. Den nyere version forbedrer dette markant, og du kan se nøjagtige linjenumre, når der opstår en fejl.

For at bringe et mere præcist linjenummer skifter Python 3.10 sin pålidelighed fra strømmen co_Inotab attribut og bruger den nye metode co_lines () attribut. Denne attribut fungerer på en sådan måde, at f_lineo indeholder altid det nøjagtige linjenummer.

1. til (
2. x) i [1]:
3. passere
4. Vend tilbage

Relaterede: Fejlret din Python-kode

6. Udskudt evaluering af kommentarer

Inden for Python udføres evalueringen af ​​typenotering på tidspunktet for funktionsdefinition. Dette betyder, at typebemærkninger vurderes linje for linje ovenfra og ned.

Selvom det kan virke som den bedste løsning, er der stadig to problemer med denne tilgang:

  • Type tip refererer til typer, der endnu ikke er defineret og ikke fungerer; disse tip skal udtrykkes som strenge.
  • Modulimporten blev langsommere, da typetips udføres i realtid.

For at undgå eksekveringsproblemer gemmes annoteringer i _anmærkninger_ og evaluering udføres sammen. Dette muliggør fremadhenvisning, da modulimport udføres først, hvilket reducerer initialiseringstiden.

Arbejde med de nyeste funktioner i Python 3.10

Pythons nyeste version frigives den 4. oktober 2021; det lover at rette de fejl, der findes i de eksisterende versioner. De følgende versioner forbedrer den nuværende 3.10-version.

Mapping af strukturelle mønstre er højdepunktet i denne nye opdatering, og det gør det lettere at skrive koder til lignende objekter. Andre funktioner som Parenthesized Context Managers og nye EU-operatører sigter mod at gøre koden enklere og mere effektiv.

Ikke desto mindre er der nogle fremragende undtagelseshåndteringsteknikker inden for de eksisterende Python-versioner. Du kan gøre god brug af Pythons funktionaliteter.

DelTweetE -mail
Sådan håndteres undtagelser i Python

Dæk dine kodebaser med Python-undtagelser.

Læs Næste

Relaterede emner
  • Programmering
  • Programmering
  • Python
  • Kodningstip
Om forfatteren
Wini Bhalla (21 artikler offentliggjort)

Wini er en Delhi-baseret forfatter med 2 års skriveerfaring. I løbet af hendes skrivetid har hun været tilknyttet digitale marketingbureauer og tekniske firmaer. Hun har skrevet indhold relateret til programmeringssprog, cloud-teknologi, AWS, Machine Learning og meget mere. I sin fritid kan hun lide at male, tilbringe tid med sin familie og rejse til bjergene, når det er muligt.

Mere fra Wini Bhalla

Abonner på vores nyhedsbrev

Deltag i vores nyhedsbrev for tekniske tip, anmeldelser, gratis e-bøger og eksklusive tilbud!

Klik her for at abonnere