Как написать подсказку типа, чтобы указать, что переменная является определенным подтипом возвращаемого типа метода?Python

Программы на Python
Anonymous
Как написать подсказку типа, чтобы указать, что переменная является определенным подтипом возвращаемого типа метода?

Сообщение Anonymous »

Я работаю с методом из внешней библиотеки, возвращающим тип 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

Вернуться в «Python»