такой класс ещё не объявлен, и пичарм ругается про анресолвед референс
На заметку, под руку попалось. (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.) https://peps.python.org/pep-0484/
Вторая аннотация же не верная
mypy utils.py Success: no issues found in 1 source file
Ты возвращаешь экземпляр, а не класс
https://t.me/ru_python/1901396
Ну так 'Foo' же и означает экземпляр класса Foo (ну, в контексте аннотаций).
https://peps.python.org/pep-0484/#forward-references
Как тогда анатировать это? def get_class(self): return self._ _class_ _
В его случае это Foo
Смысл писать такое
Интересно
Ну, Type['Foo'] по смыслу, но не проверял, нет ли ограничений на это.
Обсуждают сегодня