- sziku69: Fűzzük össze a szavakat :)
- Luck Dragon: Óraátállítás
- Luck Dragon: Asszociációs játék. :)
- sziku69: Szólánc.
- hcl: Könnyű légierő
- f(x)=exp(x): A laposföld elmebaj: Vissza a jövőbe!
- Luck Dragon: Alza kuponok – aktuális kedvezmények, tippek és tapasztalatok (külön igényre)
- Doky586: Windows telepítés utáni beállítások
- Sub-ZeRo: Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
- Luck Dragon: MárkaLánc
Ú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
- sziku69: Fűzzük össze a szavakat :)
- AMD Ryzen 9 / 7 / 5 7***(X) "Zen 4" (AM5)
- AMD FX
- Parfüm topik
- HTPC (házimozi PC) topik
- Otthoni hálózat és internet megosztás
- Telekom otthoni szolgáltatások (TV, internet, telefon)
- Milyen lézer nyomtatót vegyek?
- Luck Dragon: Óraátállítás
- Sweet.tv - internetes TV
- További aktív témák...
- Xiaomi Redmi Note 8 Pro 64GB, Kártyafüggetlen, 1 Év Garanciával
- Apple iPhone 12 64GB, Kártyafüggetlen, 1 Év Garanciával
- Apple iPhone 13 Pro Max 128GB, Kártyafüggetlen, 1 Év Garanciával
- LG SN8Y 5.1.2 Dolby Atmos soundbar MERIDIAN technológiával hangprojektor
- Apple iPhone 13 128GB, Kártyafüggetlen, 1 Év Garanciával
- Gamer PC! i9-9900K / RTX 3060 Ti / Z390 / 16GB DDR4 / 500GB SSD / 850w!
- Honor 200 256GB, Kártyafüggetlen, 1 Év Garanciával
- Samsung Galaxy Tab A7 Lite 32GB, Kártyafüggetlen, 1 Év Garanciával
- REFURBISHED - DELL Universal Dock D6000 (452-BCYH) (DisplayLink)
- Xbox Series S 512 GB + kontroller 6 hó garancia, számlával!
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
