Uncategorized

Mi a sekély és mély másolás?

Olykor szükségünk lehet objektumok másolatának előállítására. Ez elsőre talán nem tűnik túl izgalmas dolognak. Azonban, ha összetett objektumokról van szó, akkor már vetődnek fel kérdések. Összetett objektumnak tekintjük azt, amely más objektumokat tartalmaz, más szóval rendelkezik azok referenciájával. Ebben az esetben az a kérdés merül fel, hogy a másolás csak a tartalmazó objektumot érinti, vagy …

Mi a sekély és mély másolás? Read More »

Mi a függvénydekorátor és mikor használjuk?

Az előző bejegyzésben említettük, hogy a closure számos alkalmazási köre közül az egyik a dekorátorok előállítása. Függvénydekorátort úgy kapunk, hogy a closure körülzáró függvényének argumentumaként egy függvényobjektumot adunk át. Ez lesz a dekorálandó függvény. Ebben az esetben a closure általános szerkezetének leírása a következő ábra felső részén látható. Ebben a lényeg, hogy a dekorálandó függvényt …

Mi a függvénydekorátor és mikor használjuk? Read More »

Mi a closure és mire használható?

A Pythonban számos alkalmazási formában találkozhatunk closure függvényekkel. Ezen alapulnak például a dekorátorok, amelyek a Python jellegzetes, hasznos, és ezért gyakran használt nyelvi szerkezetei. Az olyan függvényeket, amelyeket egy másik függvényen belül hoztunk létre és e körülzáró függvény visszatérési értékeként kapunk closure függvénynek nevezzük.  Ennek jellemzője nem csak az, hogy egy másik függvényben van definiálva, …

Mi a closure és mire használható? Read More »

Miért célszerű, ha homogén elemű egy lista, és miért lehet heterogén elemű egy tuple konténer?

A Pythonban egy lista, vagyis egy list típusú konténer eleme elvben bármilyen objektum lehet. A lista változtatható konténer, ami azt jelenti, hogy a program futása közben az elemei kicserélhetők, valamint elemszáma növelhető és csökkenthető. Ezzel szemben egy tuple nem változtatható konténer, ezért egy adott példányának létrehozása után annak elemei nem cserélhetők, és elemszáma nem növelhető …

Miért célszerű, ha homogén elemű egy lista, és miért lehet heterogén elemű egy tuple konténer? Read More »

Szótár feltöltésére a dict.setdefault metódus vagy a defaultdict szótár alkalmazása célszerűbb?

Mind a két nyelvi eszköz arra való, hogy ha egy szótárban nincs egy megadott kulcs, akkor ezt a kulcsot automatikusan felveszi a szótárba egy meghatározható alapértelmezett értékkel. Ha d egy dict típusú szótár, akkor a d.setdefault(k, default) híváskor a default argumentum kiértékelődik és, amennyiben nincs a k kulcs a szótárban, az így létrejövő objektum lesz …

Szótár feltöltésére a dict.setdefault metódus vagy a defaultdict szótár alkalmazása célszerűbb? Read More »

Mire figyeljünk, ha egy szótárt dict.fromkeys() metódussal hozunk létre?

Pythonban dict típusú szótárt több módon is létrehozhatunk, amelyek közül egy lehetőség, ha a dict.fromkeys(iterobj, value) metódus hívásával tesszük ezt. Ez akkor hasznos, ha a szótár megalkotásával egyidőben a kulcsokhoz azonos kezdőértéket akarunk beállítani. A metódus első argumentuma egy olyan iterálható objektum, amelynek elemei a szótár kulcsai lesznek. A kulcsok mindegyikéhez egyetlen érték fog tartozni, …

Mire figyeljünk, ha egy szótárt dict.fromkeys() metódussal hozunk létre? Read More »

Hogyan készítsünk olyan iterátort, amely iterálható objektumok elemeit váltakozva összefésülve szolgáltatja?

A feladat tehát az, hogy ha van pl. három karakterláncunk ‘ABC’, ‘DEF’, ‘GHI’, akkor az iterátorból a következő sorozat legyen kinyerhető: ‘A’, ‘D’, ‘G’, ‘B’, ‘E’, ‘H’, ‘C’, ‘F’, ‘I’. A feladat több módon is megoldható. Ezekben a közös elv, hogy először is előállítjuk az iterálható objektumok iterátorait az iter() beépített függvénnyel, hogy utána ezekből …

Hogyan készítsünk olyan iterátort, amely iterálható objektumok elemeit váltakozva összefésülve szolgáltatja? Read More »

Mi a __main__ szerepe és mikor használjuk?

A Python programkódoknál van, amikor látni az if __name__ == ‘__main__’: kezdetű kódblokkot, de van amelyikben nem szerepel. Mi az oka ennek? A választ ott kell keresni, hogy egy .py kiterjesztésű fájlba írt kódok két féle szerepben használhatók és futtathatók.  Egyfelől be tudjuk importálni egy másik fájlban szereplő programkódba mint modul, másrészt önállóan is futtathatjuk. …

Mi a __main__ szerepe és mikor használjuk? Read More »

Mikor és miért érdemes közönséges törtekkel számolni?

A float típus behatárolt számábrázolási pontosságából adódó gondokra a decimal modul eszközei tudnak bizonyos mértékig megoldást nyújtani, amelyekről az előző bejegyzésekben volt szó. Azonban a Decimal típus sem tud végtelen pontosságot biztosítani, ami a két egész szám hányadosaként felírható racionális számok esetében akkor zavaró, ha azok végtelen vegyes vagy tiszta szakaszos tizedestörtként írhatók fel. Ebben …

Mikor és miért érdemes közönséges törtekkel számolni? Read More »

Hogyan kerekítsünk?

Az előző bejegyzésben a nagy számítási pontosságot igénylő alkalmazásokhoz a szabványos könyvtár decimal modulját használtuk, és láthattuk példákon, hogy mi a hatása, ha a kívánt pontosságot a kontextusobjektumon keresztül változtatjuk. Az értékes jegyek számának meghatározása szükséges, de általában nem elégséges feltétele az előírt pontosság eléréséhez. A teljes képhez a kerekítési módszer meghatározása szükséges, ugyanis számos …

Hogyan kerekítsünk? Read More »