Klassen die Instanzen von sich selbst enthalten
Verfasst: Freitag 4. Juni 2004, 16:01
hi,
ich versuche einen baum durch klassen darzustellen.
ein instanz von S soll einen knoten darstellen.
der wert des knotens soll in self.f gespeichert werden, die blätter in der liste a. die elemente von a sind selbst wieder instanzen von S.
hier die klasse:
aber das funktioniert so leider nicht.
es wird nicht unterschieden zwischen den versch. instanzen.
obwohl unterschiedliche adressen haben, scheinen alle gleich zu sein...
bin für jeden hinweis dankbar
ich versuche einen baum durch klassen darzustellen.
ein instanz von S soll einen knoten darstellen.
der wert des knotens soll in self.f gespeichert werden, die blätter in der liste a. die elemente von a sind selbst wieder instanzen von S.
hier die klasse:
Code: Alles auswählen
class S:
a = []
def __init__(self, f):
self.f = f
def app(self, v):
self.a.append(S(v))
es wird nicht unterschieden zwischen den versch. instanzen.
obwohl unterschiedliche adressen haben, scheinen alle gleich zu sein...
Code: Alles auswählen
>>> import c
>>> x = c.S("a")
>>> x
<c.S instance at 0x00A56440>
>>> x.f
'a'
>>> x.a
[]
>>> x.app("b")
>>> x.a
[<c.S instance at 0x00A563C8>]
>>> x.a[0]
<c.S instance at 0x00A563C8>
>>> x.a[0].f
'b'
>>> x.a[0].app("c")
>>> x
<c.S instance at 0x00A56440>
>>> x.a
[<c.S instance at 0x00A563C8>, <c.S instance at 0x00A564B8>]
>>> x.a[1]
<c.S instance at 0x00A564B8>
>>> x.a[1].f
'c'
>>>
bin für jeden hinweis dankbar
