5 coola nya funktioner i Python 3.7
Av Idego Group

Python 3.7 anlände den 27 juni 2018 och introducerade flera övertygande förbättringar tillsammans med betydande prestandauppgraderingar. Releasen inkluderade en breakpoint()-funktion, reserverade nyckelord för async/await, __getattr__- och __dir__-metoder på modulnivå, tidtagningskapacitet med nanosekundsupplösning, uppskjuten utvärdering av typhänvisningar, kontextvariabler och dataklasser.
Dataklasser representerar det mest signifikanta framsteget i denna version. De gör det möjligt för utvecklare att skapa mer strukturerad och läsbar kod genom att minska boilerplate-krav. Genom @dataclass-dekoratören från den nya dataclasses-modulen kan programmerare automatiskt generera __init__- och __repr__-metoder med minimal kod.
Utöver grundläggande användning stöder dataklasser sorteringsfunktioner. Parametern @dataclass(order=True) möjliggör jämförelseoperationer och sortering. Funktionen field() möjliggör anpassning av enskilda attribut, som att utesluta vissa fält från sorteringslogik.
Dekoratören accepterar flera parametrar som styr genererade metoder: init, repr, eq, order, unsafe_hash och frozen. Dessa parametrar ger finkornad kontroll över vilka specialmetoder som automatiskt skapas.
Dataklasser stöder arv med bevarad fältordning från föräldraklasser, vilket upprätthåller logiska attributsekvenser över klasshierarkier.
Funktionen asdict() från dataclasses tillhandahåller enkel ordbokskonvertering och förenklar JSON-serialisering för API-kommunikation utan att kräva extensiv anpassad kod.
Dataklasser underlättar renare separation mellan datamodeller och affärslogik. Utvecklare kan identifiera dataobjekt i befintliga kodbaser och refaktorera dem med hjälp av dekoratörer för att minska rader samtidigt som tydlighet och underhållbarhet förbättras.