Informatika2-2012/Eloadas10

A MathWikiből
(Változatok közti eltérés)
(Kivételek)
(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:
  ...

egy magyarázat

with értelmezése

Egyenértékű kód:

__enter__()
try:
  doSth()
finally:
  __exit__()

egy magyarázat

iterátorok

yield hogyan

Memória barát funkcionális program elem, generátor

generátor

egy magyarázat

Személyes eszközök