Profiler: funktionen mit aufrufparameter und rückgabewert

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Gast

Dienstag 30. September 2003, 10:28

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?
Dookie
Python-Forum Veteran
Beiträge: 2010
Registriert: Freitag 11. Oktober 2002, 18:00
Wohnort: Salzburg
Kontaktdaten:

Dienstag 30. September 2003, 12:57

Hallo Gast,

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

Gruß

Dookie
Gast

Mittwoch 1. Oktober 2003, 08:30

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.) ?
xturbo77
User
Beiträge: 39
Registriert: Montag 9. September 2002, 20:05
Kontaktdaten:

Mittwoch 1. Oktober 2003, 11:58

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.
Antworten