Почему Mypy жалуется, что требует аннотации типа для переменной понимания списка, когда такую переменную невозможно аннотировать с помощью MyPy?
В частности, как я могу устранить следующую ошибку:
from enum import EnumMeta
def spam( y: EnumMeta ):
return [[x.value] for x in y] ? Mypy: Need type annotation for 'x'
cast
не работает :
return [[cast(Enum, x).value] for x in y] ? Mypy: Need type annotation for 'x'
Несмотря на то, что Mypy не поддерживает аннотации (x:Enum
) в таких Я вижу, что использование переменной может быть аннотировано с помощью cast
( см. этот пост ). Тем не менее, cast(Enum, x)
не останавливает Mypy, жалуясь на то, что переменная вообще не аннотирована.
#type:
не работает :
return [[x.value] for x in y] # type: Enum ? Mypy: Misplaced type annotation
Я также вижу, что переменная for
l oop может быть аннотирована с помощью комментария, # type:
( см. Этот пост ). Тем не менее, # type: Enum
не работает для for
.