python类和实例组织

2024-04-27 19:14:07 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个类定义

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

我想定义这个类的几个实例并将它们存储在某个地方。我希望我可以将diOne和diTwo定义为DataItem类的成员并将它们存储在迪翁.py以及双倍在某个地方。但是,我希望在导入定义了DataItem的模块时,能够自动访问所有已定义的实例。你知道吗

问题是,如何组织模块和实例文件?我想得对吗?你知道吗

编辑:为了充实我的意图

我希望有更多的代码来定义每个实例。我希望它们在不同的文件中,这样我可以更好/更容易地控制每个实例的版本,因为它们将有自己的生命。我可以很容易地在同一个模块中定义它们,但是当可能定义100多个实例时,更改模块和控制谁有权更改代码似乎是一个更大的麻烦。每一个都有不同程度的差异。挂起频率。你知道吗

我希望这能澄清问题。你知道吗


Tags: 模块文件of实例代码datapiece定义
2条回答

没有理由有单独的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直接引用它们。你知道吗

我相信你可以做下面这样的事情。确保它们在同一目录中。然后,您可以在中创建任意数量的实例实例.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

相关问题 更多 >