Seite 1 von 1

Profiler: funktionen mit aufrufparameter und rückgabewert

Verfasst: Dienstag 30. September 2003, 10:28
von Gast
Hallo,

Ich habe hier eine Funktion, die ich gerne mit dem profiler bewerten würde.
Wie man sieht hat sie sowohl aufrufparameter als auch einen rückgabewert.

Code: Alles auswählen

text=FEM.aufruf(self.Dname.get(),int(self.elementzahl.get()),self.ausgabeparameter)
Wenn ich die zeile eindach in profile.run('') einschliesse, bekomme ich leider die Fehlermeldung

NameError: name 'self' is not defined


Was mache ich falsch?

Verfasst: Dienstag 30. September 2003, 12:57
von Dookie
Hallo Gast,

du befindest Dich, mit deiner Sourcezeile, innerhalb einer Merhode?
Zeig mal etwas mehr code.

Gruß

Dookie

Verfasst: Mittwoch 1. Oktober 2003, 08:30
von Gast
Ich befinde mich innerhalb einer klasse innerhalb einer methode
Class klasse:
def methode:

Es hat ein bischen gedauert, aber ich habe mir mal den SourceCode vom Profiler + viele Tutorials angeschaut und so geht es:

Code: Alles auswählen

josh=profile.Profile()
josh.runctx('text=FEM7d.aufruf(self.Dname.get(),int(self.elementzahl.get()),self.ausgabeparameter)',globals(),locals())
josh.print_stats()
leider wird text nicht mehr zurückgegeben (print text dahinter sagt undefined)

Ist vielleicht auch für andere interessant, da es meines erachtens nirgends so im Netz steht

PS : hat vielleicht jemand einen guten link für mich wo ausführlich die python stacks beschrieben werden (worauf bezieht sich self, wie greift man auf andere zu usw.) ?

Verfasst: Mittwoch 1. Oktober 2003, 11:58
von xturbo77
Also self ist eigentlich nur ein konventioneller Name für das erste Argument einer Klassenmethode und bezeichnet die Instanz selber, also vergleich mit this in Java oder me in VB.