Informatika2-2012/Gyakorlat10
A MathWikiből
(Változatok közti eltérés)
Stma (vitalap | szerkesztései) (→készíts üres osztályt) |
Stma (vitalap | szerkesztései) (→készíts osztályokat) |
||
52. sor: | 52. sor: | ||
* csináld meg, hogy a __len__ operátor a jegyzettömbben lévő jegyzetek számát adja vissza | * csináld meg, hogy a __len__ operátor a jegyzettömbben lévő jegyzetek számát adja vissza | ||
* csináld meg, hogy a __getitem__ operátor a jegyzettömbben az adott indexű jegyzetet adja vissza | * csináld meg, hogy a __getitem__ operátor a jegyzettömbben az adott indexű jegyzetet adja vissza | ||
− | * csináld meg, hogy a __add__ operátor jegyzet esetén hozzáadja a jegyzetet, jegyzettömb esetén meg az abban lévő | + | * csináld meg, hogy a __add__ operátor jegyzet esetén hozzáadja a jegyzetet, jegyzettömb esetén meg az abban lévő elemeket |
* csináld meg, hogy a jegyzettömb create_gen() függvénye egy a jegyzeteken végigfutó generátort adjon vissza | * csináld meg, hogy a jegyzettömb create_gen() függvénye egy a jegyzeteken végigfutó generátort adjon vissza | ||
* csináld meg, hogy a jegyzettömb __iter__ függvénye egy a jegyzeteken végigfutó iterátort adjon vissza | * csináld meg, hogy a jegyzettömb __iter__ függvénye egy a jegyzeteken végigfutó iterátort adjon vissza |
A lap 2012. április 19., 13:28-kori változata
Class
készíts üres osztályt
- változtasd az osztály szintű változókat
>>> class A: ... pass ... >>> A.v1 = 10 >>> x=A() # létrehozok két példányt >>> y=A() >>> x.v1 # példányon belül is elérem az osztály szintű változót 10 >>> x.v1 = 34 # itt viszont létrehozok egy példány szintűt aminek a neve felülírja az osztály szintűt >>> y.v1 10 >>> x.v1 34 >>> A.v1 10 >>> A.v1 = 12 # itt az osztályszintű változót változtatjuk >>> x.v1 # mivel felülírtuk a v1-t az x példányban így ezen már nincs hatása 34 >>> y.v1 12 >>> A.v1 12
- példa dinamikus modosításra
>>> class A: ... pass ... >>> def pow(obj): ... return obj.base ** obj.exp ... >>> >>> x = A() >>> x.base, x.exp = 5,2 >>> print pow(x) 25
használd összegyűjtött paraméter átadásra egy tetszőleges függvényen
örökítsd az osztályt egy másikban, nézd meg miket érsz él benne, miket tudsz felülírni, mi lesz az eredménye
készíts osztályokat
- Jegyzettömb
- Jegyzet
- Írd felül a konstruktorukat
- csináld meg, hogy a __len__ operátor a jegyzettömbben lévő jegyzetek számát adja vissza
- csináld meg, hogy a __getitem__ operátor a jegyzettömbben az adott indexű jegyzetet adja vissza
- csináld meg, hogy a __add__ operátor jegyzet esetén hozzáadja a jegyzetet, jegyzettömb esetén meg az abban lévő elemeket
- csináld meg, hogy a jegyzettömb create_gen() függvénye egy a jegyzeteken végigfutó generátort adjon vissza
- csináld meg, hogy a jegyzettömb __iter__ függvénye egy a jegyzeteken végigfutó iterátort adjon vissza
- stb. ha találsz értelmes operátort még azt is módosíthatod, pl. __str__, __repr__, __call__