Аргумент "xyz" в "ABC" имеет несовместимый тип "Tuple [None, ...]"; ожидается "Tuple [None]" - PullRequest
0 голосов
/ 20 апреля 2019

В качестве эксперимента я хотел добавить аннотации типов в свой проект и протестировать его с помощью mypy --strict.Рассмотрим следующий код и сообщение об ошибке ниже:

#!/usr/bin/env python

import typing as T


from dataclasses import dataclass


@dataclass(frozen=True)
class Question:
    choices: T.Tuple[None]


def gen_question() -> Question:

    choices = [None]

    return Question(choices=tuple(choices))


if __name__ == '__main__':
    gen_question()

Вот сообщение об ошибке:

test.py:18: error: Argument "choices" to "Question" has incompatible type "Tuple[None, ...]"; expected "Tuple[None]"

Есть ли что-то, что я делаю неправильно, или это ошибка?Как я могу решить проблему?

1 Ответ

0 голосов
/ 20 апреля 2019

Похоже, что в случае набора .Tuple, согласно документации , если мне нужно указать кортеж переменной длины, мне нужно добавить , ..., как показано ниже:

    choices: T.Tuple[None, ...]

Обратите внимание, что это не относится к спискам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...