Prvních 6 užitečných funkcí Pythonu 3.10

Prvních 6 užitečných funkcí Pythonu 3.10

Python 3.10 se může pochlubit 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 zahrnují zavedení strukturálního porovnávání vzorů, lepší chybové zprávy, nové operátory odborů, přesná čísla řádků pro ladění a mnoho dalšího.





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 stále je jedním z hlavní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ů:



Příkaz shody je již nějakou dobu součástí jazyka Python. Toto prohlášení se v zásadě používá k tomu, aby se zabránilo nudné práci při psaní souboru kdyby-jinak prohlášení několikrát.

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





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

Nová knihovna pythonu rozpoznává objekty jako jpg, gif a videa. Tento kód lze bez problémů spustit bez vyvolání chyby.

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 došlo k problémům 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.

přesunout program z jednoho disku na druhý

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

SyntaxError: unexpected EOF while parsing error message.

Nejasnost v takových 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ří:

Chyby atributů jako:

from collections import namedtoplo

modul 'kolekce' nemá atribut 'namedtoplo'. Měli jste na mysli: namedtuple?

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

new_var = 5print(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:

with open('file1.txt', 'r') as fin, open('file2.txt', 'w') as 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ě:

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

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

with (open('file1.txt', 'r') as fin,open('file2.txt', 'w') as 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 má předdefinovanou sadu funkcí nápovědy k typu.

jak spustit mac os na windows

Operátor odboru obsahuje podmíněnou logiku; například, int nebo plovák lze zapsat jako Union [X, Y] . Nový odborový 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: return x * 3.142f(1) # passf(1.5) # passf('str') # linter will show annotation error

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. for (2. x) in [1]:3. pass4. return

Související: 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 _anotace_ 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 přítomné 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. Další funkce, jako jsou správci kontextu v závorkách a noví operátoři Unie, mají za cíl zjednodušit a zefektivnit kód.

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

Podíl Podíl tweet E-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(41 článků zveřejněno)

Wini je spisovatel se sídlem v Dillí a má 2 roky psaní. Během psaní se stýkala 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