Что делать, когда родитель имеет статический класс, а ребенок - нет? - PullRequest
0 голосов
/ 12 декабря 2011

У меня есть код, который выглядит так:

Class Parent:
    def someMethod(self):
        return 42

Class Child(Parent):
    def someMethod(self):
        print self.answer

У родителя есть метод, который может быть статическим, и (чтобы избавиться от предупреждений Pylint) я хочу добавить декоратор @staticmethod, но тогда я бы хотел удалить self в качестве аргумента. Это означало бы, что у Parent и Child разные входные аргументы. Есть ли хороший способ сделать это, кроме как оставить код как есть?

1 Ответ

4 голосов
/ 12 декабря 2011

Если вы хотите иметь возможность передавать Child, когда ожидается Parent, то переопределяющий метод должен принимать тот же список аргументов, что и метод parent. Просто так получается, что эта конкретная родительская реализация, способ , может быть сделан статическим.

Используйте # pylint: disable=X0123 (замените соответствующим кодом предупреждения) в родительском элементе, чтобы отключить предупреждение lint.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...