next up previous
Nächste Seite: Module Aufwärts: Die Programmiersprache Python Vorherige Seite: Funktionen

Unterabschnitte

Klassen und Objekte

Klassen werden mit dem class Schlüsselwort erzeugt:

class name(basisklasse1, basisklasse2, ...):
     "Dokumentationsstring" 
     anweisungssequenz

Beispiel: Person.py

class Person:
    def __init__(self, name = ""):
        self.name = name
        
    def __repr__(self):
        return "Person %s" % self.name
        
class Arbeitnehmer(Person):
    def __init__(self, name = "", job = "", pay = 0):
        Person.__init__(self, name)
        self.job = job
        self.pay = pay

    def __getattr__(self, name):
        if name =='tax':
            return self.pay * .30
        else:
            raise AttributeError
        
    def __repr__(self):
        return  "Arbeitnehmer %s, Gehalt %10.2f" % (self.name, self.pay)
    
Einige Methoden:
__getattr__(self) erlaubt Zugriff der Art self.name, wenn das Attribut name nicht existiert
__repr__(self) Liefert die Stringrepresentation zurück (für print)

Beispiel: Erzeugen von Objekten

>>> p = Person("Person1")
>>> a = Arbeitnehmer("Arbeitnehmer1", "Edv", 10000)
>>> a.tax
3000.0
>>> a.pay
10000
>>> isinstance(a, Arbeitnehmer)
1
>>> isinstance(a, Person)
1
>>> isinstance(p, Arbeitnehmer)
0
>>> isinstance(p, Person)
1
>>> print a
Arbeitnehmer Arbeitnehmer1, Gehalt   10000.00
>>> print p
Person Person1



Juergen Hoetzel 2000-07-04