【发布时间】:2013-09-28 17:52:48
【问题描述】:
我有一个类定义
class DataItem(object):
"""Elementary piece of data."""
我想定义这个类的几个实例并将它们存储在某个地方。我希望我可以将 diOne 和 diTwo 定义为 DataItem 类的成员,并将它们存储在 diOne.py 和 diTwo.py 的某个地方。但是,我希望当我导入定义了 DataItem 的模块时,我可以自动访问所有定义的实例。
问题是,如何组织模块和实例文件?我这样想对吗?
编辑:充实我的意图,
我希望有更多的代码来定义每个实例。我希望它们位于单独的文件中,这样我就可以对每个实例进行更好/更轻松的版本控制,因为它们将拥有自己的生命。我可以很容易地在同一个模块中定义它们,但是当可以定义 100 多个实例时,更改模块并控制谁有权更改该代码似乎要麻烦得多。各有不同程度。挂起频率。
我希望澄清。
【问题讨论】:
-
您希望通过这样做来实现什么?听起来您的想法并不正确,但是这个问题相当模糊。尤其是在文件中单独包含一个实例并没有多大意义。
-
另外,通常实例没有“大量代码”。可能需要一些代码来生成适当的参数以传递给构造函数,如果这就是您的意思……但是如果您尝试将不同的方法附加到每个实例,您可能想要的是两个 子类类的实例(以及每个实例),而不是类的两个实例。
-
更一般地说,与其向我们展示一个粗略的抽象示例,不如提出一个您希望该类及其实例做什么的具体示例(足够复杂以展示所有问题,但没有更多)。
-
@abarnert,我试图澄清我的问题,进一步意识到您的评论是正确的。但是为了清楚起见,您是在暗示我打算成为实例的应该只是子类,每个子类都有一个实例?考虑到这一点,所有这些子类是否应该存在于子目录中的单独文件中?如何将它们全部导入?
-
@piRSquared:不知道您所说的“定义每个实例的更多代码”是什么意思,我不能同意或不同意。您是指生成要传递给每个构造函数的参数的大量代码,还是指每个实例中具有独特代码的许多单独方法,还是完全不同的东西?