On Thu, 09 Aug 2007 05:30:00 -0700, nmin wrote: > So, executing the function genData() in skript .py runs without > problem but if I execute the same function again, the data from the > first run is stored somehow and is added to the new data. > > So, if you look at the result: > #1 in DatenTypen.py return an empty list each time the program runs. > Ok ... clear so far > #2 in library.py returns an empty list, when the program runs for the > first time ... but when the function is > called again, the list contains an element. Each time you call the > function again, one element is added! > Why?? out.abschnitte should be the same as printed in #1 or not?
`out.abschnitte` is a *class* attribute so it is the same list on all instances of that class. > class AusgangsDatenDeichMonitor: > > abschnitte=[] Everything on this level belongs to the class, so `abschnitte` is a class attribute and shared by all instances of `AusgangsDatenDeichMonitor`. > def __init__(self): > abschnitte=[] > print "Abschnitt in DatenTypen: "+str(abschnitte) #1 Remove the class attribute and change the `__init__()` to: def __init__(self): self.abschnitte = list() print "Abschnitt in DatenTypen: " + str(self.abschnitte) > So, I read about deleting Instances with "del" ... but it does not > work at all. You can't delete objects with ``del``, just names or references to objects in containers. Ciao, Marc 'BlackJack' Rintsch -- http://mail.python.org/mailman/listinfo/python-list