он или это какая-то шиза?
правильно сделал. хоть и необходимости в этом нет
т.е такое желательно? Выглядит странно
Например, если убрать отсюда -> None, mypy не будет делать тайп-чекинг внутри метода по умолчанию.
ох, какой-то костыль
Так исторически сложилось. Постепенная типизация на то и постепенная, что мы можно постепенно добавлять типы к коду. Или просто оставить какой-то модуль нетипизированным. Поэтому mypy по умолчанию не проверяет функции, у которых нет аннотаций. Чтобы это изменить, есть настройка --check-untyped-defs
ну, я это понимаю. Я бы так тайпхинты и не использовал, но для удобства решил взять dataclass-factory
Ну не знаю, имхо, если уж вводить то полностью. Но это просто имхо)
PEP 484: "Note that the return type of init ought to be annotated with -> None. The reason for this is subtle. If init assumed a return annotation of -> None, would that mean that an argument-less, un-annotated init method should still be type-checked? Rather than leaving this ambiguous or introducing an exception to the exception, we simply say that init ought to have a return annotation; the default behavior is thus the same as for other methods."
Обсуждают сегодня