Обратная совместимость itertools.pairwise и сомнительное предупреждение PylancePython

Программы на Python
Anonymous
Обратная совместимость itertools.pairwise и сомнительное предупреждение Pylance

Сообщение Anonymous »


Функция 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

Есть ли метод, который я мог бы использовать (возможно, следует использовать), чтобы не вызывать это предупреждение, или мне просто придется с этим смириться?

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