假设我在〜/ app /中有一个项目,至少包含文件myclass.py,myobject.py和app.py。
在myclass.py中,我有类似的东西
def myclass():
# class attributes and methods...
在myobject.py中,我有类似的东西
from app import myclass
attribute1 = 1
attribute2 = 2
myobject = myclass(attribute1,attribute2)
最后,app.py看起来像
from app import myobject
# do stuff with myobject
在实践中,我正在使用myobject.py来收集myclass的公共实例并使其易于导入,因此不必单独定义所有属性。我的问题是关于myobject.py的约定。这样可以吗?或者有什么更好的方法可以达到上述目的。我想到的问题是在myobject模块中还有所有其他变量(在本例中为attribute1和attribute2)。感觉有点不可思议,因为这些不是要单独访问的东西,而是可以访问的事实……我觉得还有其他常规方法可以做到。这是完全可以的吗?还是我应该担心(如果可以的话,如何解决)?
编辑:为了更加清楚,这是一个示例:我有一个Camera类,用于存储镜头和ccd等属性(例如,在myclass.py中)。因此,用户能够定义不同的摄像机并在应用程序中使用它们。但是,我希望允许它们具有一些预设的摄像机,因此我定义了Camera类的对象,这些对象特定于某些我知道用于此应用程序的摄像机(例如,在myobject.py中)。因此,当他们运行应用程序时,他们可以仅导入这些预设摄像机(作为Camera对象)(例如在app.py中)。如果最好的方式不是写在myobject.py中,应该如何编写这些预设对象?