python - 如何在 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)
感觉就像我在类和命名空间如何工作方面缺少一些核心概念,这破坏了第一个示例,但没有破坏第二个示例。它是什么,什么是做好这件事的好方法?
解决方案
推荐阅读
- firebase - 使用参数将敏感信息传递给 Firebase Cloud Functions
- android - 如何使应用程序在模拟器中第二次使用
- postgresql - 我无法在 Heroku 上使用 Strapi 连接到 Postgres DB
- c++ - 布尔动态内存分配不能被删除
- arrays - 获取特定于数组中的一个变量的下标超出范围错误
- javascript - React / Graphql 中的 Paywall 检查代码。需要一点澄清
- google-cloud-platform - 使用 Google Cloud 重定向网址
- date - 不显示对话框结果的 Acrobat 动态日期戳
- javascript - 当 lineWidth 未设置为 1 时,HTML Canvas 的行位置不正确
- android - 如何在android studio中停止动画?