0

我有一个类定义

class DataItem(object):
    """Elementary piece of data."""

我想定义这个类的几个实例并将它们存储在某个地方。我希望我可以将 diOne 和 diTwo 定义为 DataItem 类的成员,并将它们存储在 diOne.py 和 diTwo.py 的某个地方。但是,我希望当我导入定义了 DataItem 的模块时,我会自动访问所有已定义的实例。

问题是,如何组织模块和实例文件?我是否正确地考虑了这一点?

编辑:充实我的意图,

我希望有更多的代码来定义每个实例。我希望它们位于单独的文件中,这样我就可以对每个实例进行更好/更轻松的版本控制,因为它们将拥有自己的生命。我可以很容易地在同一个模块中定义它们,但是当可以定义 100 多个实例时,更改模块并控制谁有权更改该代码似乎要麻烦得多。各有不同程度。挂起频率。

我希望澄清。

4

2 回答 2

2

我相信您可以执行以下操作。确保它们位于同一目录中。然后,您可以在 Instances.py 中创建任意数量的实例(或拥有多个具有相同结构的文件)。这是否回答你的问题?

我的类.py

class DataItem(object):
    def __init__(self, v):
        self.value = v

实例.py

import MyClass

# Creates an instance of DataItem, and prints its value
diOne = MyClass.DataItem(1)
print diOne.value
于 2013-09-23T18:51:50.847 回答
1

没有理由拥有单独的 diOne/diTwo 文件——它们几乎是空的。如果你真的需要这样做,你可以在定义类的文件中这样做:

数据项.py:

class DataItem(object):
    pass

di_one = DataItem()
di_two = DataItem()

现在,当您在import data_item任何地方进行操作时,您将自动引用data_item.di_onedata_item.di_two- 或者,您可以from data_item import di_one, di_two直接引用它们。

于 2013-09-23T18:14:51.687 回答