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

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

Сообщение Anonymous »

Мне было интересно, можно ли получить возвращаемый тип Union для get_bars в этом сценарии:
from dataclasses import dataclass

@dataclass
class Bar[T]:
a: T

@dataclass
class Foo:
bars: list[Bar]

def get_bars(self):
return self.bars

Я не уверен, как вводить бары в Foo (или какую TypeVar передать в Foo), идея состоит в том, что get_bars должен возвращать Union например, Bar[T]
foo = Foo(bars=[Bar[int](a=1), Bar[str](a='bar')])
foo.get_bars() # Should be inferred as a Union[Bar[int], Bar[str]]


Подробнее здесь: https://stackoverflow.com/questions/791 ... -instances
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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