Я работаю с методом из внешней библиотеки, возвращающим тип A. Однако на практике метод всегда возвращает экземпляры подтипа A, поскольку A действует только как базовый класс. Существует несколько подтипов A, но в моем приложении метод всегда будет возвращать определенный подтип, скажем, B. Я хочу добавить в свой код подсказки типов, чтобы указать это, и я придумал код ниже, но есть ли лучший способ? В частности, есть ли способ избежать утверждения утверждения?
class MyClass:
def __init__(self):
variable = some_object.method() # method is typed as returning A, but will always return subtype B in my case
assert isinstance(variable, B)
self.attribute = variable # I do this so that the type checker knows that self.attribute is always of type B and not A
Подробнее здесь: https://stackoverflow.com/questions/798 ... subtype-of
Мобильная версия