繁体   English   中英

如何注释可选的类变量

[英]How to annotate an optional class variable

在 Python 3 中,如何为可能存在或不存在的类变量添加类型注释。 这与可能为None的类变量不同。 例如:

from typing import Optional

class Foo:
  a: Optional[int]
  # b: ???

  def __init__(self, has_a: bool, has_b: bool):
    if has_a:
      self.a = 1
    else
      self.a = None

    if has_b:
      self.b = 2

然后

>>> x = Foo(False, False)
>>> repr(x.a)
'None'
>>> repr(x.b)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'Foo' object has no attribute 'b'

我写什么??? 指示类型检查器b可能是一个int或者它可能根本不存在?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM