Python数据字段初始化

时间:2018-04-30 14:04:10

标签: python python-3.x

似乎是一个显而易见的问题,但我无法找到答案。

在Python中,如何初始化类数据(不是实例属性)。

class MyClass:
    DATA = MyClass()

不起作用,因为MyClass()尚未定义。

class MyClass:
    pass

MyClass.DATA = MyClass()

让人类的读者,linter,IDE和自动完成感到困惑。

有更标准的方法吗?

1 个答案:

答案 0 :(得分:1)

你不能。您应该键入它并在之后定义它:

class MyClass:
    DATA: ClassVar['MyClass'] # Will get set afterwards
MyClass.DATA = MyClass()

这应解决自动完成(IDE)和人类阅读器的问题。大多数短绒也应该没问题。