首页 > 解决方案 > 如何在 Python 中引用另一个类变量来初始化一个类变量?

问题描述

我想初始化两个类变量:第一个是常量,第二个是基于第一个常量的值构建的列表(或集合、字典等)。我想做的一个例子,它不起作用:

class ThisDoesntWork:
   SOME_CONST = "hello"
   SOME_OTHER_CONST = list(SOME_CONST + str(i) for i in range(4))

结果是:

NameError: name 'SOME_CONST' is not defined

正如在另一个答案中发现的那样,只要没有列表、字典、集合,以下代码就可以工作:

class ThisWorks:
   SOME_CONST = "hello"
   SOME_OTHER_CONST = SOME_CONST + str(1)

感觉就像我在类和命名空间如何工作方面缺少一些核心概念,这破坏了第一个示例,但没有破坏第二个示例。它是什么,什么是做好这件​​事的好方法?

标签: python

解决方案


推荐阅读