Seite 1 von 1

init

Verfasst: Samstag 10. Juli 2004, 18:53
von Gast
hallo, wofür sind __init__ und self gut?

Code: Alles auswählen

Wenn wir den Operator = nun auch als Zuweisung für unsere gerade im Aufbau befindlichen neuen Hybridobjekte gut funktionieren soll, muss er sozusagen in seiner Wirkungsweise überschrieben werden. 

Dieses Überschreiben erfolgt mit einer Funktion, oder Methode, wie wir in Zukunft sagen werden, die den Namen __init__ tragen muss. Der Name wird mit zwei Unterstrichen begonnen und endet auch mit zwei Unterstrichen. 
....
Jener Name, der innerhalb des Klassenobjektes auf den eigentlichen Namen des Klassenobjektes zeigt, heisst self.
kann nicht viel damit anfangen.
Kann mich jemand Aufklären???

Verfasst: Samstag 10. Juli 2004, 19:18
von Dookie
Hi,

__init__ und self, braucht man für objektorientierte Programmierung in Python.
Mit der Methode __init__ wird eine Instanz (Objekt) einer Klasse (Objektbeschreibung) initialisiert.
self ist bei Methoden einer Klasse immer der erste Parameter und stellt die jeweiige Instanz (das Object) der Klasse, mit der die Methode etwas machen soll, dar.

Beispiel:

Code: Alles auswählen

#/usr/bin/env python

class MyClass():

    def __init__(self, value): # Initialisierung
        self.value = value

    def printme(self): # Gib Attribut value aus
        print self.value


myObject1 = MyClass(42)
myObject2 = MyClass(3.1415)
print "myObject1 hat den Wert", myObject1.printme()
print "myObject2 hat den Wert", myObject2.printme()

Gruß

Dookie