self.... als voreingestellter Methodenparameter?
Verfasst: Mittwoch 3. Februar 2010, 11:51
Hallo,
ich habe eine Klasse Daten(), die unter anderen eine Methode GetFilter() besitzt. Wenn diese Methode ohne Parameter aufgerufen wird, möchte ich, dass ein interner Zeiger mit dem Namen 'self.zeiger' als voreingestellter Parameter verwendet wird.
Fehlermeldung: NameError: name 'self' is not defined
Wo liegt mein Denkfehler?
Hier der gesamte Code:
Also mit anderen Worten: Wenn GetFilter() ohne Parameter aufgerufen wird, soll der Wert des letzten Aufrufs beibehalten werden. Wenn also goto den Wert 2 hatte, soll GetFilter() ohne Wertübergabe wieder mit goto = 2 arbeiten.
Liebe Grüße
mutetella
ich habe eine Klasse Daten(), die unter anderen eine Methode GetFilter() besitzt. Wenn diese Methode ohne Parameter aufgerufen wird, möchte ich, dass ein interner Zeiger mit dem Namen 'self.zeiger' als voreingestellter Parameter verwendet wird.
Fehlermeldung: NameError: name 'self' is not defined
Wo liegt mein Denkfehler?
Hier der gesamte Code:
Code: Alles auswählen
class Daten:
def __init__(self):
#Daten zum Testen:
self.gesamt = [['03.05.2010', '08.00', '09.00', 'Fruhstuck'], ['03.05.2010', '10.00', '17.00', 'Geburtstagsparty'],
['04.05.2010', '06.00', '18.00', 'Katerstimmng']]
self.zeiger = 0
self.ergebnis = []
def SetFilter(self, filter):
for i in range(len(self.gesamt)):
if filter in self.gesamt[i]:
self.ergebnis.append(self.gesamt[i])
return len(self.ergebnis)
def GetFilter(self, goto=self.zeiger):
self.zeiger = goto
if goto < len(self.ergebnis):
return self.ergebnis[goto]
Liebe Grüße
mutetella