Ismerje meg a Python 3.12 izgalmas funkcióit, amelyek megkönnyítik a fejlesztő életét.
A Python 2023 októberében tervezi a nyelv 3.12-es verziójának kiadását. Ez a verzió izgalmas funkciók és fejlesztések sorát kínálja. Célja, hogy javítsa a kódolási élményt egy hatékonyabb és erőteljesebb platform felkínálásával, amely lehetővé teszi kódolási készségeinek fejlesztését.
1. Továbbfejlesztett hibaüzenetek
A Python a legutóbbi verziókban folyamatosan javította hibaüzeneteit. A A 3.11-es kiadás pontosabb hibaüzeneteket vezetett be sorokon belüli pontos pozíciók feltüntetésével.
A Python 3.12 ezeket a fejlesztéseket a következő szintre emeli a következő kiegészítésekkel:
- A hiányzó modulokra vonatkozó javaslatok ("elfelejtetted importálni az X-et?") mostantól a szabványos könyvtár moduljait is magukban foglalják.
- Továbbfejlesztett hibajavaslatok az importálással kapcsolatos gyakori szintaktikai hibákhoz. Például, ha van import p-t m-ből kódjában hibaüzenet jelenik meg, amely megkérdezi, hogy szándékozott-e írni m importból p.
- Az adott modul importálási hibái most az importált modul névteréből származó javaslatokat tartalmaznak.
- NameError javaslatok most is beépülnek maga hozzáadva a névhez, amikor egy osztálypéldányon belül emelkedik. Például, ha a név sebesség nincs megadva, a hibaüzenet javasolja önmaga.sebesség potenciális korrekcióként. Ez különösen hasznos a kihagyás miatt maga Például a változók gyakori hibaforrások az osztálypéldányokban.
2. A Linux Perf Profiler támogatása
A széles körben használt Linux profilkészítő eszköz, perf, most már a Python 3.12 programokkal is együttműködhet. Korábban csak a C-szintű műveletek nyomon követésére összpontosított a Python futási idején belül.
A Python 3.12-vel immár aktiválhatja a perf-et, hogy a Python-programokról is adatokat gyűjtsön. Aktiválhatja a környezet szintjén vagy egy Python programon belül a segítségével sys.activate_stack_trampoline funkció.
3. Tippjavítások
A Python 3.5-ös verziójában való bevezetése óta a Python típus-hivatkozás szintaxisa lehetővé tette a linting eszközöknek a hibák széles skálájának előre történő észlelését. A Python típusrendszere minden további kiadással a használati esetek szélesebb körét öleli fel, továbbfejlesztett gépelési funkciókat kínálva.
TypedDict
A Python 3.12 bemutatja a TypedDicts használata forrásként a kulcsszóargumentumok utalásához a függvényekben. Ez az Unpack variadic általánost használja, amelyet a 3.11-es verzió vezetett be.
Íme egy példa a funkció illusztrálására:
osztályFilm(TypedDict):
név: str
évfolyam: int
deffoo(**kwargs: Kicsomagolás[film]) -> Egyik sem: ...
Ebben az esetben a függvény foo kulcsszó-argumentumokat kaphat olyan nevekkel és típusokkal, amelyek illeszkednek a Movie TypedDict tartalmához: név típusú str és év típusú int.
Ez a továbbfejlesztés értékesnek bizonyul, ha olyan típusú tippelési funkciókat használnak, amelyek elfogadják az opcionális, csak kulcsszóra vonatkozó argumentumokat alapértelmezett értékek nélkül.
Paraméter Szintaxis típusa
A Python 3.12 tömörebb szintaxist vezet be a típusok megadásához az általános osztályokban, függvényekben vagy típusálnevekben.
Tekintsük a következő:
# a régi módszer
tól től gépelés import TypeVar
_T = TypeVar("_T")
deffunc(a: _T, b: _T) -> _T:
...
# az új típusú paraméter módszer
deffunc[T](a: T, b: T) -> T:
...
Az új szintaxissal nincs szükség a TypeVar explicit importálására. Ehelyett használhatja a func[T] szintaxis az általános típushivatkozások jelzésére. Lehetőség van típushatárok definiálására is, például annak megadására, hogy a típusnak egy típuscsoport egyikének kell lennie. Ezek a típusok azonban önmagukban nem lehetnek általánosak. Egy példa erre a szintaxisra func[T: (str, int)].
4. Szemétgyüjtés
A Python 3.12-ben a szemétgyűjtő (GC) mechanizmus megváltozott. Korábban a GC futott, amikor egy objektumot lefoglaltak.
A Python 3.12-től kezdődően azonban a GC kizárólag a eval megszakító mechanizmus a Python bájtkód hurokban. Más szóval, az egyik bájtkód végrehajtása és a következő bájtkód végrehajtása között fut.
Ezenkívül a GC akkor is aktiválódik, ha a CPython jelkezelő-ellenőrző mechanizmusát meghívják. Ez a beállítás lehetővé teszi a rendszeres szemétgyűjtést a futásidőn kívüli, C-mellékletekre irányuló hosszan tartó hívások során.
A Python 3.12 bemutatása
A Python 3.12 izgalmas funkciók és fejlesztések sorát vezeti be, forradalmasítva ezzel a kódolási élményt. Továbbfejlesztett hibaüzenetekkel, továbbfejlesztett gépelési képességekkel, a Linux Perf Profiler támogatásával és optimalizált szemétgyűjtés, a Python 3.12 olyan eszközökkel látja el Önt, amelyekkel kiváló minőségű kódokat írhat hatékonyan. Éld át a Python erejét, és emeld új magasságokba kódolási készségeidet.