Hallo Liste, ich beiß mir schon seit paar Stunden die Zähne an folgendem Problem aus: Ich habe zwei Klassen: LinearModel und DataSet. LinearModel existiert im Modul rinterface.py, DataSet im Modul xdata.py. So, jetzt will ich in einem Programm ein DataSet Objekt erzeugen, sagen wir "ds = DataSet(...)" Irgendwann später (ds existiert noch) will ich ein LinearModel erzeugen, und zwar enthält dieses ein Attribut vom Typ DataSet - also z.B. "lm = LinearModel(ds)". Jetzt will ich dem DataSet bekannt machen, dass es zu _dem_ LinearModel gehört, das ich damit erzeugt habe. Sprich, LinearModel.__init__ sieht etwa so aus: def __init__(self, dset): if not (isinstance(dset, xdata.DataSet)): raise ValueError, "dset must be a DataSet" ... self.DataSet = dset self.DataSet.setLinearModel(self) ... in rinterface.py mache ich natürlich ein "import xdata" am Anfang Entsprechend enthält DataSet eine methode setLinearModel(), die etwa so aussieht: def setLinearModel(self, lm): if isinstance(lm, rinterface.LinearModel): self.LModel = lm else: raise AttributeError, "lm must be a LinearModel" In xdata.py mach ich ein "import rinterface" am Anfang. Jetzt hab ich folgendes kleine Script: from xdata import DataSet from rinterface import LinearModel ds = DataSet(..) print ds.__class__ # xdata.DataSet lm = LinearModel(ds) In dem Moment, wo lm erzeugt wird, kommt der ValueError, den ich "raise", wenn das Argument für LinearModel.__init__() kein DataSet Objekt ist (raise ValueError, "dset must be a DataSet"). Aber ds ist ein DataSet... und DataSet ist ansonsten im Programm auch bekannt... Was läuft hier schief, kann mir jemand helfen? Hab schon alles mögliche angestellt und jede Menge über Namespaces Klassen usw. in Python nachgelesen - ohne Erfolg :-/ Dankbar für jeden Tipp... Ecky ;) _______________________________________________ Python-de maillist - Python-de@python.net http://python.net/mailman/listinfo/python-de