2016-10-21 2 views

ответ

5

В Python 3.5, вы должны написать

self.some_attribute = None # type: AnotherClass 

Поскольку Python 3.6 добавлен синтаксис нового типа для переменных (PEP 526):

self.some_attribute: AnotherClass = None 

Это, вероятно, заставит каждую систему проверки типов жаловаться, потому что None на самом деле не является экземпляром AnotherClass. Вместо этого, вы можете использовать typing.Union[None, AnotherClass], или стенографии:

from typing import Optional 
... 
self.some_attribute: Optional[AnotherClass] = None 
0

В общем случае вы не можете - Python - это язык с автоматическим вводом символов, что означает, что тип переменной зависит от того, что ей назначено.

Однако некоторые IDE позволяют достичь этого - например, Pycharm. Посмотрите на Specifying types of local variables and attributes разделе - вы можете сказать IDE намекнуть типа, установив, например

a = None #type: str 

рядом с переменной

+1

-1 Python будучи автоматической типизированных не имеет никакого значения здесь, именно поэтому у нас есть подсказки типа. Правильный ответ выше: да, с Python 3.6. – VillasV