Как написать подсказку типа, чтобы указать, что переменная является определенным подтипом возвращаемого типа метода?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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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