MetaGPT

Форк
0
/
reflection.py 
18 строк · 639.0 Байт
1
"""class tools, including method inspection, class attributes, inheritance relationships, etc."""
2

3

4
def check_methods(C, *methods):
5
    """Check if the class has methods. borrow from _collections_abc.
6

7
    Useful when implementing implicit interfaces, such as defining an abstract class, isinstance can be used for determination without inheritance.
8
    """
9
    mro = C.__mro__
10
    for method in methods:
11
        for B in mro:
12
            if method in B.__dict__:
13
                if B.__dict__[method] is None:
14
                    return NotImplemented
15
                break
16
        else:
17
            return NotImplemented
18
    return True
19

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.