Обратная совместимость itertools.pairwise и сомнительное предупреждение Pylance ⇐ Python
Обратная совместимость itertools.pairwise и сомнительное предупреждение Pylance
Функция pairwise была добавлена в itertools в Python версии 3.10.
Я хотел бы использовать эту функцию или, если она недоступна, определить свою собственную функцию на основе документированного рецепта.
Я сделал это:
импортировать инструменты itertools пытаться: _pairwise = itertools.pairwise # Пайлансу это не нравится кроме AttributeError: def _pairwise(итерируемый): a, b = itertools.tee(итерируемый) следующий(б, нет) вернуть почтовый индекс (a, b) Таким образом, я могу вызвать _pairwise, который будет готовой реализацией в версиях Python, начиная с 3.10. Более ранние версии будут использовать реализацию рецепта.
Я использую VS Code и Pylance.
Pylance подчеркивает itertools.pairwise и сообщает следующее:
Выражение типа «type[pairwise[_T_co@pairwise]]» не может быть присвоено объявленному типу «(iterable: Unknown) -> zip[tuple[Unknown, Unknown]]» Однако, протестировав этот код на версиях 3.9 и 3.12, я пришел к выводу, что это вообще не проблема.
Я знаю, что могу подавить предупреждение с помощью #type: ignore
Есть ли метод, который я мог бы использовать (возможно, следует использовать), чтобы не вызывать это предупреждение, или мне просто придется с этим смириться?
Функция pairwise была добавлена в itertools в Python версии 3.10.
Я хотел бы использовать эту функцию или, если она недоступна, определить свою собственную функцию на основе документированного рецепта.
Я сделал это:
импортировать инструменты itertools пытаться: _pairwise = itertools.pairwise # Пайлансу это не нравится кроме AttributeError: def _pairwise(итерируемый): a, b = itertools.tee(итерируемый) следующий(б, нет) вернуть почтовый индекс (a, b) Таким образом, я могу вызвать _pairwise, который будет готовой реализацией в версиях Python, начиная с 3.10. Более ранние версии будут использовать реализацию рецепта.
Я использую VS Code и Pylance.
Pylance подчеркивает itertools.pairwise и сообщает следующее:
Выражение типа «type[pairwise[_T_co@pairwise]]» не может быть присвоено объявленному типу «(iterable: Unknown) -> zip[tuple[Unknown, Unknown]]» Однако, протестировав этот код на версиях 3.9 и 3.12, я пришел к выводу, что это вообще не проблема.
Я знаю, что могу подавить предупреждение с помощью #type: ignore
Есть ли метод, который я мог бы использовать (возможно, следует использовать), чтобы не вызывать это предупреждение, или мне просто придется с этим смириться?
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение