вторник, 15 марта 2011 г.

Reflection in python

Задача: проверить наличие произвольного класса в цепочке родительских классов базового класса.
Смотрим решение:



Решение:
Использовать метод inspect.getmro

#use all parent classes in custom class
#http://docs.python.org/library/inspect.html
class ClassHelper:
    import inspect
    def lookup_base_class(self, child_class, base_class):
        if base_class in inspect.getmro(child_class):
            return true
        return false

Пример использования:

class A(object): pass
class B(A): pass
print ClassHelper().lookup_base_class(B, A)


Комментариев нет:

Отправить комментарий