Seite 1 von 1

Funktions-Namen in String

Verfasst: Dienstag 31. Oktober 2006, 15:33
von Costi
wie kann ich aus einen funktionsobject seinen, vom programmier benutzten, namen ermitteln??


danke

Verfasst: Dienstag 31. Oktober 2006, 15:44
von Leonidas
Du kannst zum Beispiel den Stack auslesen (über die Sinnigkeit dieser Idee will ich nicht diskutieren):

Code: Alles auswählen

import inspect

def myname():
    print inspect.stack()[0][3]

Verfasst: Dienstag 31. Oktober 2006, 19:54
von Costi
und wie kann ich das ausehalb der funktion machen ?


danke

Verfasst: Dienstag 31. Oktober 2006, 19:59
von birkenfeld

Code: Alles auswählen

def func(abc):
     pass

print func.__name__

Verfasst: Dienstag 31. Oktober 2006, 21:07
von murph
ich habe des weiteren keine ahnung, ist aber .func_name() nicht ein schöneres synonym dafür? falls nicht, fänd ichs mal interessant, habe das nie inner doc gefunden...

Verfasst: Dienstag 31. Oktober 2006, 23:13
von birkenfeld
Obs schöner ist, muss jeder selbst entscheiden. Die Klammern gehören jedenfalls weg, da func_name wie __name__ ein Attribut ist.