[python] jak zjistit, jestli je metoda dekorovaná
Jirka Vejrazka
jirka.vejrazka na gmail.com
Pondělí Červenec 28 16:42:40 CEST 2008
Zkusil jsem si s tim pohrat a dostal jsem se k tomu, ze nedokazu
zjistit obecny dekorator, musi tam ten dekorator ulozit "znacku",
podle ktereho se pak jeho pouziti pozna. Viz priklad (jiste neni
idealni)
...modul.py...
def dekorator(func):
def new_func(*args, **kwargs):
func.dekorator_pouzit = True
return func
return new_func(func)
@dekorator
def test_func(a, b):
print a + b
if __name__ == '__main__':
test_func(5, 6)
...jadro.py...
import modul
for obj in modul.__dict__:
if hasattr(modul.__dict__[obj], 'dekorator_pouzit'):
print obj
Vic neporadim
Jirka
Další informace o konferenci Python