Правильный способ напечатать подсказку частной собственности в Python - PullRequest
0 голосов
/ 31 декабря 2018

После PEP 526 мне интересно, как правильно набрать подсказку для экземпляра или атрибута класса, который оформлен свойством.Подсказывать ли мне тип атрибута, имя или свойство?

Пример ввода атрибута:

class Sample(object):
    _target_dir: Path

@property
def target_dir(self):
    pass

Или ввод свойства:

class Sample(object):
    target_dir: Path

Иликаким-то другим способом?То же самое для переменных экземпляра и класса?

1 Ответ

0 голосов
/ 31 декабря 2018

Вы должны украсить базовую функцию, над которой обернут атрибут @property:

class Sample:
    @property
    def target_dir(self) -> Path:
        return Path("/foo/bar")

Если ваше свойство обернуто вокруг какого-то базового частного атрибута, вам решать, хотите ли вы аннотировать это илине.Я рекомендую это сделать, так что вы можете извлечь выгоду из проверки типов везде, где вы используете этот закрытый атрибут, но любые типы, которые вы добавляете, будут не связаны с типом самого свойства.

...