【发布时间】:2016-10-21 10:15:08
【问题描述】:
我有一个类,我希望属性的初始值为None:
class SomeClass:
def __init__(self):
self.some_attribute = None
如何添加类型提示,以便 IDE 了解 some_attribute 通常属于 AnotherClass 类型?
【问题讨论】:
标签: python attributes type-hinting
我有一个类,我希望属性的初始值为None:
class SomeClass:
def __init__(self):
self.some_attribute = None
如何添加类型提示,以便 IDE 了解 some_attribute 通常属于 AnotherClass 类型?
【问题讨论】:
标签: python attributes type-hinting
在 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
【讨论】: