Я использую пакет Python abc
для объявления абстрактных классов.Когда я определяю абстрактный метод, должен ли я возвращать пустой объект того же типа, что и ожидалось, или просто pass
?
MWE:
import abc
class A(abc.ABC):
@abc.abstractmethod
def method_1(self):
"""
This abstract method should return a list
"""
pass
def method_2(self):
list_output_method_1 = self.method_1()
for x in list_output_method_1:
pass
При этом PyCharm предупреждает меня в method_2
о не повторяемости list_output_method_1
.
Должен ли я вместо этого поставить return []
в method_1
?