- iPhone topik
- Xiaomi 17 Ultra - jó az optikája
- Hivatalos a OnePlus 13 startdátuma
- Samsung Galaxy Watch (Tizen és Wear OS) ingyenes számlapok, kupon kódok
- Motorola Edge 50 Neo - az egyensúly gyengesége
- Dreame Pilot - Álomhaj, ó!
- Samsung Galaxy S24+ - a személyi asszisztens
- Fotók, videók mobillal
- Samsung Galaxy S25 FE - fenséges, felejthető vagy felesleges?
- Brutális akkumulátort kaphat a Honor X80 GT
Új hozzászólás Aktív témák
-
cousin333
addikt
válasz
Longeye
#3008
üzenetére
Ezt a problémát többféleképpen is meg lehetne oldani.
A célravezető megközelítésszerintem általában az, hogy az osztály egy létező "fizikai" entitásnak a leképezése. Tehát szerintem a diák (Diak néven: Pythonban illik CamelCase-el írni az osztályneveket) pont, hogy alkalmas osztálynak. Ha nem akarsz metódust, csak adattárolást, akkor mondjuk lehetne NamedTuple is osztály helyett, de aztán később még rájöhetsz, hogy mégis kéne metódus, szóval én maradnék az osztálynál. Ha már mindenáron (főleg) adatokat akarsz, akkor olvass utána a Dataclass-oknak. Így egyszerűben adhatsz hozzá további attribútumokat, például, hogy mikor kezdte a sulit, éppen beteg-e stb.
Én viszont olyan osztályt nem csinálnék, hogy "diákok", meg úgy általában többes számban írt entitások. Ezeket inkább Diák-ok listájaként tárolnám. Ha mindenképpen csoportot szeretnél, metódusokkal, akkor inkább legyen a neve Csoport, Osztály, esetleg Iskola, vagy valami általános gyűjtőfogalom. Itt viszont nem úgy "tárolnám be" a diákokat, ahogy te tetted, hanem magát a példányosított Diák objektumot "adnám oda". Ha type hintet is használsz, akkor a fejlesztőeszköz fel fogja ajánlani a megfelelő attribútumokat és metódusokat. A példáddal:
from dataclasses import dataclass@dataclassclass Diak:om: intnev: strclass Osztaly(object):def __init__(self):self.diakok= []def uj_diak(self, diak: Diak):self.diakok.append(diak)A diákok hozzáadó függvényét amúgy így is csinálhatod (a te példád alapján):
def ujdiak(self, datum, *args):self.lista.append(diak(*args))Ezzel a módszerrel mindegy, hogy a "diak" osztálynak éppen mennyi paramétere van, mindet átadja a konstruktornak.
Új hozzászólás Aktív témák
- Formula-1
- Battlefield 6
- Távol-keleti webshopok OFF topikja (játékok, kuponok, stb.)
- Bittorrent topik
- World of Tanks - MMO
- iPhone topik
- Xiaomi 17 Ultra - jó az optikája
- Hivatalos a OnePlus 13 startdátuma
- Samsung Galaxy Watch (Tizen és Wear OS) ingyenes számlapok, kupon kódok
- GL.iNet Flint 2 (GL-MT6000) router
- További aktív témák...
- Manli RTX 3070 8GB LHR / Csavarmatricás / Beszámítás OK! / Akciós ár!
- Apple Watch 4 44mm szürke színben. 74% akkumulátor.
- Canon EF-S 24mm f/2.8 STM objektív
- Dell Inspiron 16 Plus 7640 Ultra 7 / RTX 4060 16gb DDR5 1TB SSD/2.5K 120Hz Garancia
- Canon 60D fényképezőgép + 50mm objektív + 16GB memóriakártya
- iPhone 17 Mist Blue 256 GB - Bontatlan !! www.stylebolt.hu - Apple eszközök és tartozékok !!
- BESZÁMÍTÁS! Microsoft XBOX Series S 512GB játékkonzol garanciával hibátlan működéssel
- Apple iPhone 16 Pro 128GB, Kártyafüggetlen, 1 Év Garanciával
- ÁRGARANCIA!Épített KomPhone Ryzen 7 5700X 32/64GB RAM RTX 5060 Ti 8GB GAMER PC termékbeszámítással
- ÁRGARANCIA!Épített KomPhone Ryzen 5 5600X 16/32/64GB RAM RX 9060 XT 8GB GAMER PC termékbeszámítással
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest


