Python数据字段初始化

标签 python python-3.x

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

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

class MyClass:
    DATA = MyClass()

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

class MyClass:
    pass

MyClass.DATA = MyClass()

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

有更标准的方法吗?

最佳答案

你不能。您应该输入提示并随后定义它:

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

这应该可以解决自动完成(IDE)和人类阅读器的问题。对于大多数 linter 来说也应该没问题。

关于Python数据字段初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50102174/

相关文章:

python - Django:保存后ID为空

python - 使用 Matplotlib 在两个 y 轴上绘制多条线

python - 使用 Tweepy 通过 API 1.1 搜索推文

python-3.x - 尝试调用新分类器时出现 Sklearn 错误 - Python 3.4

Python 正则表达式不提取值 - Python 3.x

python - 使用 m.CV 与 m.Var

Python - 每 x 个元素插入换行符

Python 本地更新不起作用

python-3.x - 如何从复杂字典中提取嵌套数据并从中提取嵌套数据以构建新字典?

mongodb - 皮蒙戈 : insert_many + unique index