: rtype: указывает, что это тип возвращаемого объекта
Поэтому, когда я создаю объект obj
в следующем фрагменте, я получаю предупреждение от IDE, что cls is not callable
, так как IDE ожидает, что cls
есть object
типа SomeAbstractClass
, и я хочу SomeAbstractClass
сам
IDE прав, поскольку это поведение по умолчанию. Но как я могу указать, что я возвращаю класс, а не экземпляр класса?
Указание type
вместо SomeAbstractClass
помогает немного, но не решение, поскольку не существует дополнительной интроспекции.
def class_selector(data):
"""
:rtype: SomeAbstractClass
:return: Return some class based on given parameters
"""
return get_from.get(data.name)
cls = class_selector(data)
obj = cls(data.more_data)
Тем временем я решаю это, добавляя """:type: SomeAbstractClass"""
после создания объекта, но это не отменяет предупреждение и это грязное решение.
Btw, говоря о python 2.x