Как проверить, имеет ли переменная тип TypeVar(bound=X)Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как проверить, имеет ли переменная тип TypeVar(bound=X)

Сообщение Anonymous »

Мой код выглядит так:

Код: Выделить всё

class Game:
...
G = TypeVar('G', bound=Game)
def search(game: G) -> G:
results: Queue[int | G | None] = Queue()
...

game = results.get()
assert game is G # here is the problem
return game
Значениями очереди являются ether int, None или подкласс класса Game.
Очередь также отвечает за тип возвращаемого значения функции поиска, поэтому Я должен проверить, относится ли игра именно к типу G, или в противном случае выдать ошибку.
Я использую Mypy для проверки типов, все мои попытки не смогли проверить, есть ли results.get() это G
Тем временем я пробовал:

Код: Выделить всё

assert game is Game
# ---
assert isinstance(game, Game)
# ---
assert issubclass(game, Game)
# ---
assert isinstance(game, Game) or issubclass(game, Game)
Но Mypy жалуется, что ни один из них не относится к типу G
Что мне следует сделать, чтобы проверить, работает ли results.get() возвращает тот же тип, что и входные данные?

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

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Как проверить, имеет ли переменная тип TypeVar(bound=X)
    Anonymous » » в форуме Python
    0 Ответы
    16 Просмотры
    Последнее сообщение Anonymous
  • Как проверить, имеет ли переменная тип TypeVar(bound=X)
    Anonymous » » в форуме Python
    0 Ответы
    8 Просмотры
    Последнее сообщение Anonymous
  • Как проверить, имеет ли переменная тип TypeVar(bound=X)
    Anonymous » » в форуме Python
    0 Ответы
    15 Просмотры
    Последнее сообщение Anonymous
  • Разница между Typevar ('t', a, b) и typevar ('t', bound = Union [a, b])
    Anonymous » » в форуме Python
    0 Ответы
    21 Просмотры
    Последнее сообщение Anonymous
  • Как правильно использовать T=TypeVar('T',bound=...) с Type[T]?
    Anonymous » » в форуме Python
    0 Ответы
    48 Просмотры
    Последнее сообщение Anonymous

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