Informatika2-2012/Eloadas10
A MathWikiből
(Változatok közti eltérés)
Stma (vitalap | szerkesztései) (→Kivételek) |
Stma (vitalap | szerkesztései) (→Osztályok) |
||
13. sor: | 13. sor: | ||
Az előbbi kód egy alap gyűjtő osztályt reprezentál. | Az előbbi kód egy alap gyűjtő osztályt reprezentál. | ||
+ | |||
+ | ==== konstruktor ==== | ||
+ | Az '''__init__''' metódus az osztály konstruktorát reprezentálja. Amikor létrehozunk egy példányt az osztályból ez a függvény hívódik meg. | ||
+ | |||
+ | A '''__repr__''' | ||
+ | |||
+ | <python> | ||
+ | class Position3D: | ||
+ | def __init__(self,x,y,z): | ||
+ | self.pos = (x,y,z) | ||
+ | |||
+ | def get_y(): | ||
+ | return self.pos[1] | ||
+ | |||
+ | def __repr__(self): | ||
+ | return 'This position is in:\n\tx: {0:d}, y: {1:d}, z:{2:d}'.format(self.pos[0],self.pos[1],self.pos[2]) | ||
+ | </python> | ||
=== Kivételek === | === Kivételek === |
A lap 2012. április 17., 19:15-kori változata
Tartalomjegyzék |
Osztályok és kivételek
Osztályok
Az osztályokat alapvetően egységbezárásra használják. Ami által a program tagolhatósága és újrahasznosítása nő.
Osztályok változókból és metódusokból állnak.
class MyClass: pass
Az előbbi kód egy alap gyűjtő osztályt reprezentál.
konstruktor
Az __init__ metódus az osztály konstruktorát reprezentálja. Amikor létrehozunk egy példányt az osztályból ez a függvény hívódik meg.
A __repr__
class Position3D: def __init__(self,x,y,z): self.pos = (x,y,z) def get_y(): return self.pos[1] def __repr__(self): return 'This position is in:\n\tx: {0:d}, y: {1:d}, z:{2:d}'.format(self.pos[0],self.pos[1],self.pos[2])
Kivételek
try: ... except <exp> as <v>: ... else: ... finally: ...
with értelmezése
Egyenértékű kód:
__enter__() try: doSth() finally: __exit__()
iterátorok
yield hogyan
Memória barát funkcionális program elem, generátor