Funktions-Namen in String

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
Costi
User
Beiträge: 545
Registriert: Donnerstag 17. August 2006, 14:21

wie kann ich aus einen funktionsobject seinen, vom programmier benutzten, namen ermitteln??


danke
cp != mv
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

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]
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Costi
User
Beiträge: 545
Registriert: Donnerstag 17. August 2006, 14:21

und wie kann ich das ausehalb der funktion machen ?


danke
cp != mv
Benutzeravatar
birkenfeld
Python-Forum Veteran
Beiträge: 1603
Registriert: Montag 20. März 2006, 15:29
Wohnort: Die aufstrebende Universitätsstadt bei München

Code: Alles auswählen

def func(abc):
     pass

print func.__name__
murph
User
Beiträge: 622
Registriert: Freitag 14. April 2006, 19:23
Kontaktdaten:

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...
http://www.cs.unm.edu/~dlchao/flake/doom/
Benutzeravatar
birkenfeld
Python-Forum Veteran
Beiträge: 1603
Registriert: Montag 20. März 2006, 15:29
Wohnort: Die aufstrebende Universitätsstadt bei München

Obs schöner ist, muss jeder selbst entscheiden. Die Klammern gehören jedenfalls weg, da func_name wie __name__ ein Attribut ist.
Antworten