如何在Python 3.5中键入提示属性?

时间:2016-10-21 10:15:08

标签: python attributes type-hinting

我有一个类,我希望属性的初始值为None

class SomeClass:
    def __init__(self):
        self.some_attribute = None

如何添加类型提示,以便IDE了解some_attribute通常属于AnotherClass类型?

1 个答案:

答案 0 :(得分:11)

在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