Python: rozsahy, uzávěry a dekorátory
Rozpleťte, jak Python nachází názvy a udržuje stav napříč voláními s tímto zaměřeným kvízem na rozsahy, uzávěry a dekorátory. Projdete si reálné vzory jako jsou vnořené funkce, použití nonlocal/global...
Spustit Kvíz
Vyberte obtížnost a počet otázek pro začátek.
O tomto kvízu
Co budete procvičovat
Rozsahy, uzávěry a dekorátory jsou místa, kde se může zdát, že Python „to prostě funguje“ najednou subtilní. Tento kvíz vám pomůže vybudovat spolehlivý mentální model pro rozlišení názvů (LEGB), zachycené proměnné a vzory obalových funkcí.
Každá otázka používá 4 možnosti a není zde časovač, takže můžete pečlivě uvažovat o pořadí vykonání, vazbách a tom, co se skutečně vyhodnocuje.
Obtížnost a nastavení kvízu
Vyberte si, kolik otázek chcete odpovědět, než začnete, a zvolte si lehčí nebo těžší obtížnost, pokud chcete zaměřit svou praxi. Celková obtížnost je vyvážena kombinováním rychlých kontrol konceptů s položkami čtení kódu, které vyžadují krok za krokem sledování.
Běžný přístup je začít s kratším během na Smíšené obtížnosti, poté opakovat s vyšší obtížností, jakmile dokážete předpovědět výstupy bez hádání.
Běžné nástrahy, na které si dát pozor
- Zmatení přiřazení s vyhledáváním: jakékoli přiřazení ve funkci může učinit název lokálním, pokud není deklarováno jako globální/nonlocal
- Pozdní vazba v uzávěrech (např. lambdy v cyklech zachycující stejnou proměnnou)
- Zapomínání vrátit vnitřní funkci při vytváření uzávěrů
- Psát dekorátory, které ztrácejí metadata funkce (chybějící functools.wraps)
- Nechápat čas vykonání dekorátoru: dekorace se děje při importu/definici, nikoli při volání
Tipy pro lepší skóre
Když minete otázku, přepište úryvek ve své hlavě pomocí explicitních kroků: chování při definici vs chování při volání, který rozsah vlastní každý název a který objekt dekorátor vrací. Bez časovače a 4 možnosti na otázku, zacházejte s každou položkou jako s mini-debuggingovou relací spíše než jako s testem rychlosti.
Ukázkové otázky
Jaký je termín pro oblast programu, kde je proměnná přístupná?
- A.Rozsah
- B.Kontext
- C.Blok
- D.Oblast
Jaké klíčové slovo se používá k deklaraci globální proměnné v Pythonu?
- A.global
- B.public
- C.private
- D.local
Jaký typ funkce vám umožňuje připojit chování k existující funkci?
- A.Dekorátor
- B.Uzávěr
- C.Generátor
- D.Callback
FAQ kvízu
Kolik otázek je v tomto kvízu?
Tento kvíz má 128 otázek na Python rozsahy, uzávěry a dekorátory.
Je tento kvíz časově omezený?
Ne. Není zde časovač, takže si můžete vzít čas na čtení kódu a uvažování o rozsahu a vazbách.
Jaký formát odpovědí kvíz používá?
Každá otázka je s výběrem z 4 možností.
Mohu si vybrat počet otázek a obtížnost?
Ano. Před začátkem si vyberte počet otázek a zvolte úroveň obtížnosti; Smíšené kombinuje snadné, střední a těžší položky.
Jaká témata jsou pokryta kromě základních pravidel rozsahu?
Uvidíte vyhledávání LEGB, globální/nonlocal, zachycení uzávěrů, pozdní vazbu, vzory dekorátorů a běžné chyby obalů.
Zahrajte si tento kvíz v jiném jazyce(7)
Související kvízy

Rust: vlastnictví, půjčování a životnosti
Prohlubte své porozumění modelu vlastnictví v Rustu, pravidlům půjčování a anotacím životnosti pomocí praktických, na kód zaměřených otázek. Projdete běžnými chybami kompilátoru, vyberete nejbezpečnější opravy a vybudujete intuici pro to, jak myslí kontrolor půjčování. Vyberte si preferovanou obtížnost a počet otázek, a poté se učte vlastním tempem bez časového limitu.
JavaScript: promisy, async a event loop
Rozpleťte asynchronní chování JavaScriptu pomocí otázek na Promisy, async/await, mikroúkoly a event loop. Procvičíte si předpovídání pořadí vykonávání, odhalování jemných časových chyb a výběr správného asynchronního vzoru pro skutečný kód. Vyberte si preferovaný počet otázek a obtížnost, a poté se učte vlastním tempem bez časového limitu.
Počítačové hardwarové komponenty a jejich role
Přiřaďte klíčové komponenty PC k tomu, co dělají a jak ovlivňují výkon. Pokrývá CPU, GPU, RAM, typy úložišť, základní desky, zdroje napájení a porty.
Modely služeb cloud computingu vysvětleny
Zkontrolujte své porozumění tomu, jak jsou cloudové služby dodávány a používány. Pokrývá IaaS, PaaS, SaaS, kontejnery vs VM, regiony/availability zóny a základy sdílené odpovědnosti.
Kybernetické hrozby a obrany
Identifikujte běžné kybernetické hrozby a nejlepší obranné praktiky používané k minimalizaci rizika. Pokrývá phishing, malware, hesla, MFA, základy šifrování a bezpečné prohlížecí návyky.
Základy syntaxe programovacích jazyků
Otestujte si své znalosti běžné syntaxe programování v populárních jazycích. Otázky se zaměřují na proměnné, smyčky, funkce a základní datové struktury, aniž by vyžadovaly hlubokou teorii informatiky.