Přečtěte si o vzrušujících funkcích v Pythonu 3.12, které vám usnadní život vývojářů.

Python plánuje vydat verzi 3.12 jazyka v říjnu 2023. Tato verze přináší řadu vzrušujících funkcí a vylepšení. Jeho cílem je zlepšit vaši zkušenost s kódováním tím, že nabídne efektivnější a výkonnější platformu, která vám umožní zlepšit vaše dovednosti v oblasti kódování.

1. Vylepšené chybové zprávy

Python v posledních verzích neustále vylepšoval své chybové zprávy. The Verze 3.11 zavedla přesnější chybové zprávy uvedením přesných pozic v rámci řádků.

Python 3.12 posouvá tato vylepšení na další úroveň s následujícími doplňky:

  • Návrhy na chybějící moduly ("zapomněli jste importovat X?") nyní zahrnují moduly ze standardní knihovny.
  • Vylepšené návrhy chyb pro běžné syntaktické chyby související s importy. Například, pokud máte importovat p z m ve vašem kódu se zobrazí chyba s dotazem, zda jste zamýšleli psát z m importovat p.
  • Chyby importu pro daný modul nyní zahrnují návrhy z oboru názvů importovaného modulu.
  • instagram viewer
  • NameError návrhy nyní také zahrnují přidán k názvu, když je vyvolán v rámci instance třídy. Například pokud jméno Rychlost není definován, chybové hlášení navrhne vlastní.rychlost jako případnou korekci. To je zvláště užitečné od vynechání například proměnné jsou častým zdrojem chyb v instancích třídy.

2. Podpora pro Linux Perf Profiler

Široce používaný nástroj pro profilování Linuxu, výkon, nyní může pracovat s programy Python 3.12. V minulosti se zaměřoval pouze na sledování operací na úrovni C v rámci běhového prostředí Pythonu.

S Pythonem 3.12 můžete nyní aktivovat perf a shromažďovat podrobnosti o programech Pythonu. Můžete jej aktivovat buď na úrovni prostředí, nebo v rámci programu Python pomocí sys.activate_stack_trampoline funkce.

3. Vylepšení tipování typů

Od svého zavedení v Pythonu 3.5 umožnila syntaxe Pythonu typ-hinting nástrojům pro linting předem detekovat širokou škálu chyb. S každým dalším vydáním se typový systém Pythonu vyvinul tak, aby zahrnoval širší škálu případů použití a nabídl vylepšené funkce psaní.

TypedDict

Python 3.12 zavádí použití TypedDicts jako zdroj pro napovídání argumentů klíčových slov ve funkcích. To využívá generikum Unpack variadic, které představila verze 3.11.

Zde je příklad ilustrující tuto funkci:

třídaFilm(TypedDict):
jméno: str
rok: int

deffoo(**kwargs: Rozbalit[Film]) -> Žádný: ...

V tomto případě funkce foo může přijímat argumenty klíčových slov s názvy a typy, které odpovídají obsahu Movie TypeDict: název typu str a rok typu int.

Toto vylepšení se osvědčuje u funkcí tipování typu, které přijímají volitelné argumenty pouze pro klíčová slova bez výchozích hodnot.

Syntaxe parametru typu

Python 3.12 zavádí stručnější syntaxi pro specifikaci typů v generických třídách, funkcích nebo typových aliasech.

Zvažte následující:

# stará metoda
z psaní na stroji import TypeVar
_T = TypeVar("_T")
deffunc(a: _T, b: _T) -> _T:
...
# nová metoda parametru typu
deffunc[T](a: T, b: T) -> T:
...

S novou syntaxí není potřeba explicitně importovat TypeVar. Místo toho můžete využít func[T] syntaxe pro označení obecných odkazů na typ. Je také možné definovat hranice typu, například určit, že typ musí být jedním ze skupiny typů. Tyto typy však samy o sobě nemohou být generické. Příkladem této syntaxe je func[T: (str, int)].

4. Odvoz odpadu

V Pythonu 3.12, mechanismus sběru odpadků (GC). změnila. Dříve se GC spouštěl vždy, když byl alokován objekt.

Od Pythonu 3.12 však GC funguje výhradně v rámci eval jistič mechanismus ve smyčce bytecode Pythonu. Jinými slovy, běží mezi provedením jednoho bajtkódu a dalším.

Kromě toho se GC také spouští, když je vyvolán mechanismus kontroly obsluhy signálu CPythonu. Tato úprava umožňuje pravidelné shromažďování odpadků během dlouhotrvajících volání na rozšíření C mimo běhové prostředí.

Odhalení Pythonu 3.12

Python 3.12 zavádí řadu zajímavých funkcí a vylepšení, která pro vás revolučním způsobem změní práci s kódováním. S vylepšenými chybovými zprávami, vylepšenými možnostmi psaní, podporou pro Linux Perf Profiler a optimalizované garbage collection, Python 3.12 vás vybaví nástroji pro psaní vysoce kvalitního kódu efektivně. Přijměte sílu Pythonu a pozvedněte své kódovací dovednosti do nových výšin.