[python] nazev metody
    Petr Prikryl 
    PrikrylP na skil.cz
       
    Čtvrtek Leden 11 13:14:30 CET 2007
    
    
  
mtip
> potreboval bych zjistit nazev metody uvnitr tridy.
> asi takhle:
> class a:
>     def aa(self):
>         print "ja jsem metoda:", xxx
> x=a()
> x.aa()
Možná by bylo dobré objasnit, proč to chceš vědět.
Pokud je to například kvůli výpisu informace, 
kde se něco nepovedlo, pak může být lepší
nastudovat si modul inspect:
class a:
    def aa(self):
        import inspect
        frame = inspect.currentframe()
        info = inspect.getframeinfo(frame)
        print 'Jsem metoda', info[2]
        print 'Podrobnejsi info:', info
x=a()
x.aa()
Dalo by se to vylepšit třeba takto:
def JmenoMetody():
    import inspect
    return inspect.stack()[1][3]
class a:
    def aa(self):
        print 'Jsem metoda', JmenoMetody()
x=a()
x.aa()
Upřímně řečeno, nenapadá mě, jak by funkce mohla
jinak zjistit své jméno, aniž by se v zápisu to
jméno objevilo. Ale možná to jde i jednodušeji.
pepr
    
    
Další informace o konferenci Python