Informatika2-2012/Gyakorlat10
A MathWikiből
(Változatok közti eltérés)
Stma (vitalap | szerkesztései) (→használd összegyűjtött paraméter átadásra egy tetszőleges függvényen) |
Stma (vitalap | szerkesztései) (→ö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) |
||
43. sor: | 43. sor: | ||
</python> | </python> | ||
− | === örökítsd az osztályt egy másikban | + | === ö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 | ||
+ | <python> | ||
+ | </python> | ||
+ | |||
=== készíts osztályokat === | === készíts osztályokat === | ||
* Jegyzettömb | * Jegyzettömb |
A lap 2012. április 19., 12:29-kori változata
Tartalomjegyzék |
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
ö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__