【问题标题】:How can I type hint an attribute in Python 3.5?如何在 Python 3.5 中键入提示属性?
【发布时间】:2016-10-21 10:15:08
【问题描述】:

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

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

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

【问题讨论】:

    标签: python attributes type-hinting


    【解决方案1】:

    在 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
    

    【讨论】:

      猜你喜欢
      • 2021-04-28
      • 2019-05-28
      • 1970-01-01
      • 1970-01-01
      • 2022-08-15
      • 2016-03-17
      • 2016-04-16
      • 2019-07-23
      • 2018-12-13
      相关资源
      最近更新 更多