
robert schneider wrote:
Hallo.
Versuche mich gerade mit Klassen in Python vertraut zu machen, doch begegnet mir eine Sache, die mich einfach wundert...
Folgendes Snippet
# anfang _mod_importDic.py class ConvertFile: def __init__(self, file):
^^^^ ^^^^ a b
myConverter = ConvertFile( )
^^^^^^^^^ ^^ a b?
Ich dachte eine Klasseninstanz wird immer Instanz = Klasse() erzeugt.
Das ist auch richtig so. Voraussetzung ist allerdings, dass bei der Erzeugung der Instanz alle vom Konstruktor __init__() erwarteten Parameter mitgeliefert werden. Das erste Argument (self) wird automagisch von der Instanz selber beigesteuert, alle weiteren (in deinem Fall "file") müssen im Aufruf enthalten sein.
Noch ein stilistischer Nachtrag: Es wird nicht empfohlen, eigene Modulnamen mit Unterstrichen zu beginnen. Es ist Konvention, Erweiterungsmodule in C, auf welche nur ueber einen Wrapper in Python zugegriffen wird, so zu benennen. Ein Beispiel ist z.B. das Standard-Modul socket, welches intern auf das Erweiterungsmodul _socket zurueckgreift.
-schorsch