Top 6 handige functies van Python 3.10

Top 6 handige functies van Python 3.10

Python 3.10 gaat er prat op een van de meest stabiele versies te zijn die beschikbaar zijn voor gebruikers om te downloaden, en zal later dit jaar worden uitgebracht. De nieuw uitgebrachte versie zal met veel merkbare veranderingen komen, zoals gebruiksvriendelijke functionaliteiten voor zowel beginnende als ervaren programmeurs.





De opvallende verbeteringen in de nieuwe Python-versie zijn onder meer de introductie van structurele patroonafstemming, betere foutmeldingen, nieuwe union-operators, nauwkeurige regelnummers voor debuggen en nog veel meer.





Dit is wat u moet weten over Python 3.10:





Structurele patroonafstemming in Python 3.10

Structural Pattern Matching maakt het schrijven van code een makkie en het blijft een van de prominente hoogtepunten van de nieuwste Python-versie. Python heeft tot doel de reeds bestaande match-case-statements in de vorige versies van de programmeertaal te verbeteren. Het heeft een update gemaakt van de bestaande match-case-statements in Python.

Laten we een snelle blik werpen op de implementaties van Structural Pattern Matching:



De match-case-statement maakt al een tijdje deel uit van de Python-taal. Deze verklaring wordt in principe gebruikt om het vervelende werk van het schrijven van de als-anders verklaring meerdere keren.

U kunt matchen met objecten met vergelijkbare eigenschappen met behulp van deze functie in de nieuwe build.





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

De nieuwe python-bibliotheek herkent objecten zoals jpg, gif en video's. Deze code kan naadloos worden uitgevoerd zonder een fout te veroorzaken.

2. Verbeterde foutmeldingen

Elke codeur begrijpt waarschijnlijk het belang van fouten bij het schrijven van code en hoe irritant sommige soorten fouten kunnen zijn. De vorige versies van Python gaven foutmeldingen zodra er problemen waren in de syntax. Deze kunnen onder andere te wijten zijn aan de verkeerde syntaxis, ontbrekende trefwoorden, onjuiste of verkeerd gespelde trefwoorden.





Deze foutmeldingen waren verre van perfect omdat het voor beginners (soms zelfs gevorderde gebruikers) moeilijk werd om de echte oorzaak van de fout in hun codes te achterhalen. Als programmeur blijft Google uw bondgenoot bij het ontcijferen van de reden achter verschillende foutmeldingen.

wat te doen met oude flatscreen-monitoren

Veel mensen weten bijvoorbeeld niet waarom Python de volgende foutmelding geeft:

SyntaxError: unexpected EOF while parsing error message.

Het gebrek aan duidelijkheid in dergelijke verklaringen bracht de nieuwste Python-versie ertoe om de bestaande reeks foutmeldingen te verbeteren.

De oudere berichten zijn vervangen door gemakkelijk te begrijpen foutmeldingen zoals:

{was nooit gesloten onverwachte EOF tijdens het parseren

Nog enkele wijzigingen zijn:

Attribuut fouten zoals:

from collections import namedtoplo

module 'collections' heeft geen attribuut 'namedtoplo'. Bedoelde je: benoemdetuple?

NameError-berichten worden gewijzigd om er als volgt uit te zien:

new_var = 5print(new_vr)>

NameError: naam 'new_vr' is niet gedefinieerd. Bedoelde je: new_var?

3. Contextmanagers tussen haakjes

De nieuwe Parenthesized Context Managers kunnen uw code er eleganter uit laten zien. Hoewel het geen belangrijke functie is, kan het je code gemakkelijk minder onhandig maken. Deze functie is handig als u in een team werkt en uw code gestructureerd moet zijn.

Stel je voor dat je een verklaring schrijft als:

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

De bovenstaande code werkt, maar de eerste regel is veel te lang en ziet er onhandig uit. U kunt de regel afbreken met een backslash ( ) en laat de code er gestructureerd uitzien:

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

Met de introductie van de nieuwe Contextmanager tussen haakjes, kun je de regel ook afbreken met haakjes:

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

Verwant: Ideeën voor Python-projecten die geschikt zijn voor beginners

4. Nieuw type vakbondsoperator

Een kleine maar handige functie in Python 3.10 is het nieuwe type union-operator. Elke Python-release wordt geleverd met een vooraf gedefinieerde set type-hint-functies.

hoe wifi-wachtwoord op Android te controleren

De vakbondsoperator bevat voorwaardelijke logica; bijvoorbeeld, int of vlot kan worden geschreven als Unie [X, Y] . De nieuwe vakbondsoperator kan worden uitgedrukt als: int|zweven ook.

De introductie van een nieuwe union-operand in Python 3.10 is tijdbesparend en zorgt ervoor dat de code er goed gedefinieerd uitziet.

Bijvoorbeeld:

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

5. Precieze regelnummers voor foutopsporing

Het is u wellicht al vaker opgevallen dat foutopsporing u niet doorverwijst naar de juiste regel waar een fout is opgetreden. Dit maakt het debuggen moeilijk voor programmeurs die net begonnen zijn met het schrijven van code.

De gebrekkige foutopsporing is vooral duidelijk tijdens het schrijven sys.settrace en gerelateerde tools in Python. De nieuwere versie verbetert dit aanzienlijk en u kunt precieze regelnummers zien wanneer er een fout optreedt.

Om een ​​nauwkeuriger regelnummer te geven, verschuift Python 3.10 zijn betrouwbaarheid van de huidige co_Inotab attribuut en gebruikt de nieuwe methode co_lines () attribuut. Dit attribuut werkt zodanig dat de f_lineo bevat altijd het juiste regelnummer.

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

Gerelateerd: Foutopsporing in uw Python-code

6. Uitgestelde evaluatie van annotaties

Binnen Python wordt de evaluatie van typeannotatie uitgevoerd tijdens de functiedefinitie. Dit betekent dat typeannotaties regel voor regel top-down worden geëvalueerd.

Ook al lijkt het misschien de beste optie, er zijn nog steeds twee problemen met deze aanpak:

  • Typehints verwijzen naar typen die nog niet zijn gedefinieerd en niet werken; deze hints moeten worden uitgedrukt als strings.
  • Het importeren van de module vertraagde omdat typehints in realtime worden uitgevoerd.

Om uitvoeringsproblemen te voorkomen, worden annotaties opgeslagen in _annotaties_ en evaluatie wordt samen uitgevoerd. Dit maakt voorwaartse verwijzingen mogelijk, aangezien de module-import het eerst wordt uitgevoerd, waardoor de initialisatietijd wordt verkort.

Werken met de nieuwste functies in Python 3.10

De nieuwste versie van Python wordt uitgebracht op 4 oktober 2021; het belooft de bugs op te lossen die aanwezig zijn in de bestaande versies. De volgende versies zullen de huidige 3.10-versie verbeteren.

Structurele patroontoewijzing is het hoogtepunt van deze nieuwe update en maakt het schrijven van codes voor vergelijkbare objecten eenvoudiger. Andere functies, zoals Context Managers met haakjes en nieuwe Union Operators, zijn bedoeld om de code eenvoudiger en efficiënter te maken.

Desalniettemin zijn er enkele uitstekende technieken voor het afhandelen van uitzonderingen binnen de bestaande Python-versies. Je kunt goed gebruik maken van de functionaliteiten van Python.

Deel Deel Tweeten E-mail Uitzonderingen afhandelen in Python

Bedek uw coderingsbases met Python-uitzonderingen.

Lees volgende
Gerelateerde onderwerpen
  • Programmeren
  • Programmeren
  • Python
  • Codeertips
Over de auteur Wini Bhalla(41 artikelen gepubliceerd)

Wini is een schrijver uit Delhi en heeft 2 jaar schrijfervaring. Tijdens haar schrijfstages is ze in verband gebracht met digitale marketingbureaus en technische bedrijven. Ze heeft inhoud geschreven met betrekking tot programmeertalen, cloudtechnologie, AWS, machine learning en nog veel meer. In haar vrije tijd houdt ze ervan om te schilderen, tijd door te brengen met haar familie en zoveel mogelijk naar de bergen te reizen.

Meer van Wini Bhalla

Abonneer op onze nieuwsbrief

Word lid van onze nieuwsbrief voor technische tips, recensies, gratis e-boeken en exclusieve deals!

Klik hier om je te abonneren