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

Funktions-Namen in String

Beitragvon Costi » Dienstag 31. Oktober 2006, 15:33

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


danke
cp != mv
Benutzeravatar
Leonidas
Administrator
Beiträge: 16023
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Beitragvon Leonidas » Dienstag 31. Oktober 2006, 15:44

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

Beitragvon Costi » Dienstag 31. Oktober 2006, 19:54

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

Beitragvon birkenfeld » Dienstag 31. Oktober 2006, 19:59

Code: Alles auswählen

def func(abc):
     pass

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

Beitragvon murph » Dienstag 31. Oktober 2006, 21:07

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...
Benutzeravatar
birkenfeld
Python-Forum Veteran
Beiträge: 1603
Registriert: Montag 20. März 2006, 15:29
Wohnort: Die aufstrebende Universitätsstadt bei München

Beitragvon birkenfeld » Dienstag 31. Oktober 2006, 23:13

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

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder