Тип подсказки с дескрипторами - PullRequest
0 голосов
/ 29 января 2019

В этот запрос на извлечение похоже, что была добавлена ​​поддержка хинтинга типов для дескрипторов.

Однако похоже, что окончательный «правильный» пример использования не был опубликован, и не выглядитлюбая документация когда-либо добавлялась в typing модуль или Mypy .

Это выглядит как правильное использование похоже на this :

from typing import TypeVar

T = TypeVar('T')
V = TypeVar('V')


class classproperty():
    def __init__(self, getter: Callable[[Type[T], V]) -> None:
        self.getter = getter

    def __get__(self, instance: Optional[T], owner: Type[T]) -> V
        return self.getter(owner)


def forty_two(cls: Type) -> int:
    return 42


class C:
    forty_two: int = classproperty(forty_two)

, что кажется логичным, но я понятия не имею, действительно ли это правильный путь.

Есть ли какая-либо документация по этому поводу?Или полные примеры, которые действительно работают на объединенной версии?

1 Ответ

0 голосов
/ 30 июня 2019

Метод, описанный в вопросе, похоже, работает как для Mypy, так и для проверки типов PyCharm.

...