Я работаю над документацией по коду-оболочке Python для библиотеки .NET. Для явного получения и установки свойств .NET я использую методы получения и установки. Для удобства чтения кода я использую подсказки типов по всему коду. Для разрешения мультиметодов и предоставления контекстной справки я параллельно поддерживаю файлы-заглушки. И здесь я столкнулся с некоторыми проблемами. Когда я пишу в коде:
Код: Выделить всё
@property
def foo(self) -> int:
...
@foo.setter
def foo(self, bar: int) -> None:
...
и в файле-заглушке пишу:
Код: Выделить всё
@property
def foo(self) -> int: ...
@foo.setter
def foo(self, bar: int) -> None: ...
PyCharm выдает «Ожиданный тип 'int», вместо этого получено «Нет». для метода установки. Похоже, что PyCharm просто оценивает метод получения файла-заглушки. Я мог бы сделать:
в файле-заглушке, который устраняет возникшую ошибку, хотя это не кажется правильным способом сделать это.
Как правильно аннотировать методы получения и установки в файлах-заглушках?>
Подробнее здесь:
https://stackoverflow.com/questions/798 ... stub-files