Python: opsezi, zatvaranja i dekoratori
Razjasnite kako Python pronalazi imena i održava stanje tijekom poziva s ovim fokusiranim kvizom o opsezima, zatvaranjima i dekoratorima. Radit ćete kroz stvarne obrasce poput ugniježdenih funkcija, k...
Pokreni kviz
Odaberite težinu i broj pitanja za početak.
O ovom kvizu
Što ćete vježbati
Opsezi, zatvaranja i dekoratori su gdje se Pythonova „samo radi” može iznenada činiti suptilnim. Ovaj kviz pomaže vam izgraditi pouzdan mentalni model za rješavanje imena (LEGB), uhvaćene varijable i obrasce omotavanja funkcija.
Svako pitanje koristi 4 opcije i nema tajmera, tako da možete pažljivo razmišljati o redoslijedu izvršavanja, vezama i onome što se zapravo evaluira.
Težina i postavke kviza
Odaberite koliko pitanja želite odgovoriti prije nego što počnete, i odaberite lakšu ili težu težinu ako želite usredotočiti svoju praksu. Ukupna težina je uravnotežena miješanjem brzih provjera koncepata s pitanjima o čitanju koda koja zahtijevaju korak-po-korak praćenje.
Uobičajeni pristup je započeti s kraćim trajanjem na mješovitoj težini, a zatim ponoviti s višom težinom kada možete predvidjeti izlaze bez nagađanja.
Uobičajene zamke na koje treba paziti
- Zbunjujuće dodjeljivanje s pretraživanjem: svako dodjeljivanje u funkciji može učiniti ime lokalnim osim ako nije deklarirano globalnim/nonlocal
- Kasno vezivanje u zatvaranjima (npr. lambde u petljama koje hvataju istu varijablu)
- Zaboravljanje vraćanja unutarnje funkcije prilikom izgradnje zatvaranja
- Pisanje dekoratora koji gube metapodatke funkcije (nedostaje functools.wraps)
- Pogrešno razumijevanje vremena izvršavanja dekoratora: dekoracija se događa pri uvozu/definiciji, a ne pri pozivu
Savjeti za bolje rezultate
Kada propustite pitanje, prepišite isječak u svom umu koristeći eksplicitne korake: ponašanje u vrijeme definicije naspram ponašanju u vrijeme poziva, koji opseg posjeduje svako ime, i koji objekt dekorator vraća. Bez tajmera i s 4 opcije po pitanju, tretirajte svaki predmet kao mini-debugging sesiju umjesto testa brzine.
Primjeri pitanja
Koji je termin za područje programa gdje je varijabla dostupna?
- A.Opseg
- B.Kontekst
- C.Blok
- D.Regija
Koja ključna riječ se koristi za deklariranje globalne varijable u Pythonu?
- A.global
- B.public
- C.private
- D.local
Koja vrsta funkcije vam omogućuje da pridružite ponašanje postojećoj funkciji?
- A.Dekorator
- B.Zatvaranje
- C.Generator
- D.Povratni poziv
Česta pitanja o kvizu
Koliko pitanja ima ovaj kviz?
Ovaj kviz ima 128 pitanja o Python opsezima, zatvaranjima i dekoratorima.
Je li ovaj kviz vremenski ograničen?
Ne. Nema tajmera, tako da možete uzeti svoje vrijeme za čitanje koda i razmišljanje o opsegu i vezama.
Koji format odgovora koristi kviz?
Svako pitanje je višestrukog izbora s 4 opcije.
Mogu li odabrati broj pitanja i težinu?
Da. Prije početka, odaberite broj pitanja i odaberite razinu težine; Mješovito miješa lake, srednje i teže stavke.
Koje su teme pokrivene osim osnovnih pravila opsega?
Vidjet ćete LEGB pretraživanje, globalno/nonlocal, hvatanje zatvaranja, kasno vezivanje, obrasce dekoratora i uobičajene pogreške omotanja.
Igrajte ovaj kviz na drugom jeziku(7)
Povezani kvizovi

Rust: vlasništvo, posudba i trajanje
Oštrite svoje razumijevanje Rustovog modela vlasništva, pravila posudbe i oznaka trajanja kroz praktična pitanja usmjerena na kod. Rješavat ćete uobičajene greške prevoditelja, birati najsigurnije ispravke i razvijati intuiciju o tome kako posudbeni provjeravač razmišlja. Odaberite svoju omiljenu težinu i broj pitanja, a zatim učite vlastitim tempom bez vremenskog ograničenja.
JavaScript: obećanja, async i event loop
Razjasnite asinkrono ponašanje JavaScripta kroz pitanja o obećanjima, async/await, mikro zadacima i event loopu. Vježbat ćete predviđanje reda izvršavanja, prepoznavanje suptilnih grešaka u vremenu i odabir pravog asinkronog obrasca za stvarni kod. Odaberite željeni broj pitanja i težinu, a zatim učite vlastitim tempom bez vremenskog ograničenja.
Objašnjeni modeli usluga računalstva u oblaku
Provjerite svoje razumijevanje kako se usluge u oblaku isporučuju i koriste. Pokriva IaaS, PaaS, SaaS, kontejnere naspram VM-ova, regije/zone dostupnosti i osnove zajedničke odgovornosti.
Komponente i uloge računalnog hardvera
Uparite ključne komponente računala s onim što rade i kako utječu na performanse. Obuhvaća CPU, GPU, RAM, vrste pohrane, matične ploče, napajanja i priključke.
Osnove sintakse programskih jezika
Testirajte svoje znanje o uobičajenoj sintaksi programiranja kroz popularne jezike. Pitanja se fokusiraju na varijable, petlje, funkcije i osnovne strukture podataka bez potrebe za dubokom teorijom računalnih znanosti.
Cybersecurity prijetnje i obrane
Identificirajte uobičajene cyber prijetnje i najbolje obrambene prakse koje se koriste za smanjenje rizika. Obuhvaća phishing, malware, lozinke, MFA, osnove enkripcije i sigurne navike pregledavanja.