Informatika2-2012/Gyakorlat10

A MathWikiből
(Változatok közti eltérés)
(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)
43. sor: 43. sor:
 
</python>
 
</python>
  
=== ö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 ===
+
=== ö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__

egészítsd ki a labirintus beolvasót a with kulcsszó használatával

Személyes eszközök