Python 3.10 se chlubí tím, že je jednou z nejstabilnějších verzí, které si uživatelé mohou stáhnout, a bude vydán později v tomto roce. Nově vydaná verze přinese mnoho znatelných změn, například snadno použitelné funkce pro nováčky i zkušené programátory.

Do očí bijící vylepšení v nové verzi Pythonu patří zavedení strukturálního vzoru shoda, lepší chybové zprávy, noví operátoři odborů, přesná čísla řádků pro ladění a mnoho dalšího více.

Co byste měli vědět o Pythonu 3.10:

Shoda strukturálních vzorů v Pythonu 3.10

Díky strukturovanému porovnávání vzorů je psaní kódu hračkou a je i nadále jedním z významných vrcholů nejnovější verze Pythonu. Cílem Pythonu je vylepšit již existující příkazy shody případů, které jsou k dispozici v předchozích verzích programovacího jazyka. Byla provedena aktualizace stávajících příkazů shody případů v Pythonu.

Pojďme se rychle podívat na implementace párování strukturálních vzorů:

Prohlášení o shodě je již nějakou dobu součástí jazyka Python. Toto prohlášení se v zásadě používá, aby se zabránilo nudné práci při psaní

kdyby-jinak prohlášení několikrát.

Pomocí funkce v nové verzi můžete porovnávat objekty s podobnými vlastnostmi.

zápas media_object:
obrázek případu (typ = "jpg"):
# Vrátit tak, jak je
vrátit media_object
případový obrázek (typ = "png") | Obrázek (typ = "gif"):
vrátit render_as (media_object, "jpg")
případ Video ():
zvýšit ValueError („Zatím nelze extrahovat snímky z videa“)
případ other_type:
zvýšit výjimku (f „Typ média {media_object} zatím nelze zpracovat“)

Nová knihovna pythonu rozpoznává objekty jako jpg, gif a videa. Tento kód lze spustit bez problémů, aniž by došlo k chybě.

2. Vylepšené chybové zprávy

Každý kodér pravděpodobně chápe důležitost chyb při psaní kódu a jak rozčiluje některé typy chyb. Předchozí verze Pythonu vyvolávaly chybové zprávy, jakmile byly problémy se syntaxí. Důvodem může být mimo jiné nesprávná syntaxe, chybějící klíčová slova, nesprávná nebo chybně napsaná klíčová slova.

Tyto chybové zprávy nebyly zdaleka dokonalé, protože pro začátečníky (někdy i pro pokročilé uživatele) bylo obtížné identifikovat skutečnou příčinu chyby v jejich kódech. Jako programátor je Google i nadále vaším spojencem při dešifrování důvodu různých chybových zpráv.

Mnoho lidí například nemusí vědět, proč Python vyvolá následující chybu:

 SyntaxError: neočekávané EOF při analýze chybové zprávy.

Nejasnost v těchto prohlášeních vedla nejnovější verzi Pythonu ke zlepšení stávající sady chybových zpráv.

Starší zprávy byly nahrazeny snadno srozumitelnými chybovými zprávami, jako jsou:

{nebyl nikdy uzavřen neočekávané EOF při analýze

Mezi další změny patří:

Přiřaďte chyby jako:

ze sbírek import pojmenovanýtoplo

modul 'collections' nemá žádný atribut 'namedtoplo'. Měli jste na mysli: namedtuple?

Zprávy NameError jsou upraveny tak, aby vypadaly takto:

new_var = 5
tisk (new_vr)>

NameError: název 'new_vr' není definován. Měli jste na mysli: new_var?

3. Parenthesized Context Managers

Nové Parenthesized Context Managers mohou váš kód vypadat elegantněji. I když se nejedná o hlavní funkci, může váš kód snadno zmenšit. Tato funkce je výhodná, pokud pracujete v týmu a váš kód je třeba strukturovat.

Představte si, že napíšete prohlášení jako:

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

Výše uvedený kód funguje, ale první řádek je příliš dlouhý a vypadá neohrabaně. Linku můžete prolomit pomocí zpětného lomítka (\) a aby kód vypadal strukturovaně:

s open ('file1.txt', 'r') jako fin, \ open ('file2.txt', 'w') jako fout: fout.write (fin.read ())

Se zavedením nového Parenthesized Context manager můžete také přerušit řádek pomocí závorek:

s (open ('file1.txt', 'r') jako fin,
otevřít ('file2.txt', 'w') jako fout):
fout.write (fin.read ())

Příbuzný: Nápady projektu Python vhodné pro začátečníky

4. Nový typ Union Operator

Malá, ale šikovná funkce v Pythonu 3.10 je nový typ sjednocovacího operátoru. Každé vydání Pythonu přichází s předdefinovanou sadou funkcí nápovědy typu.

Operátor odboru zahrnuje podmíněnou logiku; například, int nebo plovák lze zapsat jako Unie [X, Y]. Nový sjednocující operátor lze vyjádřit jako int | float taky.

Zavedení nového sjednocovacího operandu v Pythonu 3.10 šetří čas a kód vypadá dobře definovaný.

Například:

def f (x: int | float) -> float:
návrat x * 3,142
f (1) # projít
f (1,5) # projít
f ('str') # linter zobrazí chybu anotace

Chyba anotace v Pythonu

5. Přesná čísla řádků pro ladění

Možná jste si již mnohokrát všimli, že vás sledování chyb nepřesměruje na správný řádek, kde došlo k chybě. To komplikuje ladění kodérům, kteří právě začali psát kód.

Chybné trasování chyb je zvláště patrné při psaní sys.settrace a související nástroje v Pythonu. Novější verze to výrazně zlepšuje a v případě chyby můžete vidět přesná čísla řádků.

Aby Python 3.10 přinesl přesnější číslo řádku, posouvá svou spolehlivost z proudu co_Inotab atribut a používá novou metodu co_lines () atribut. Tento atribut funguje takovým způsobem, že f_lineo vždy obsahuje přesné číslo řádku.

1. pro (
2. x) v [1]:
3. složit
4. vrátit se

Příbuzný: Ladění kódu Pythonu

6. Odložené vyhodnocení anotací

V Pythonu se vyhodnocení anotace typu provádí v době definice funkce. To znamená, že anotace typů jsou hodnoceny řádek po řádku způsobem shora dolů.

I když se to může zdát jako nejlepší volba, tento přístup má stále dva problémy:

  • Tipy k typu odkazují na typy, které ještě nejsou definovány a nefungují; tyto rady je třeba vyjádřit jako řetězce.
  • Import modulů se zpomalil, protože typy tipů jsou prováděny v reálném čase.

Aby se předešlo problémům s prováděním, jsou anotace uloženy v _annotace_ a hodnocení se provádí společně. To umožňuje dopředné odkazování, protože importy modulů jsou prováděny jako první, čímž se zkracuje doba inicializace.

Práce s nejnovějšími funkcemi v Pythonu 3.10

Nejnovější verze Pythonu bude vydána 4. října 2021; slibuje opravit chyby, které jsou ve stávajících verzích. Následující verze vylepší aktuální verzi 3.10.

Mapování strukturálních vzorů je vrcholem této nové aktualizace a zjednodušuje psaní kódů pro podobné objekty. Cílem dalších funkcí, jako jsou správci kontextových správců a noví operátori Unie, je zjednodušit a zefektivnit kód.

Nicméně ve stávajících verzích Pythonu existuje několik vynikajících technik zpracování výjimek. Funkce Pythonu můžete dobře využít.

PodíltweetE-mailem
Jak zacházet s výjimkami v Pythonu

Zakryjte své kódovací základy výjimkami Pythonu.

Číst dále

Související témata
  • Programování
  • Programování
  • Krajta
  • Tipy pro kódování
O autorovi
Wini Bhalla (21 článků zveřejněno)

Wini je spisovatel se sídlem v Dillí a má 2 roky psaní. Během psaní byla spojována s digitálními marketingovými agenturami a technickými firmami. Napsala obsah související s programovacími jazyky, cloudovou technologií, AWS, Machine Learning a mnoha dalšími. Ve svém volném čase ráda maluje, tráví čas se svou rodinou a cestuje do hor, kdykoli je to možné.

Více od Wini Bhally

Přihlaste se k odběru našeho zpravodaje

Připojte se k našemu zpravodaji a získejte technické tipy, recenze, bezplatné elektronické knihy a exkluzivní nabídky!

Kliknutím sem se přihlásíte k odběru