Линтер моей IDE (PyCharm) указывает, что я делаю ошибку с подсказкой типа return
при создании namedtuple
внутри функции. Проблема, похоже, в том, что я говорю, что верну тип NamedTuple
, хотя на самом деле я возвращаю тип MyNamedTuple
. Как я могу это решить?
Пример:
from typing import Dict, NamedTuple
def foo(bar: Dict) -> NamedTuple:
MyNamedTuple = NamedTuple("MyNamedTuple", [(k, int) for k in bar.keys()])
d = {k: v for k, v in bar.items()}
return MyNamedTuple(**d)
>>> foo({"a": 1, "b": 2})
MyNamedTuple(a=1, b=2)
def foo(bar: Dict) -> 'MyNamedTuple'
в качестве обходного пути. - person Asocia   schedule 10.06.2020