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 PythonuZakryjte 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í
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 BhallyPř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