Python中同一类的多个对象

时间:2010-06-04 13:36:07

标签: python oop packages

我在Python中有一堆来自同一个类的对象。
我决定将每个对象放在一个不同的文件中,因为它是
更容易管理它们(如果我打算添加更多对象或单独编辑它们)

但是,我不知道如何贯穿所有这些,他们在另一个包中 因此,如果我看看Netbeans,我有TopLevel ......还有一个名为Shapes的包 在形状我有Ball.py,Circle.py,Triangle.py(文件内部是一个构造函数的调用,具有特定形状的细节),它们都来自GraphicalShape类
这是在TopLevel包中的GraphicalShape.py中配置的。
现在,我在Toplevel包上还有一个名为newpythonproject.py的文件,它将启动 调用每个形状并用它做事的过程,我如何遍历所有形状?
还有:这是一个很好的方法吗?



附:别介意大写小写的东西...

为了澄清,我添加了项目树的图片 http://i47.tinypic.com/2i1nomw.png

2 个答案:

答案 0 :(得分:2)

似乎你误解了Python术语。 Python术语“对象”表示类的实际运行时实例。据我所知,您有Shape类的“子类”,名为ballcircletriangle。请注意,子类也是一个类。您将每个此类子类的代码保存在单独的文件中,这很好。

我认为你变得混乱,因为你过早地关注项目的文件布局。使用Python,通常只需要从一个文件开始,在该文件中编写所需的所有内容(函数,类等)通常更容易。只是让事情先行。之后,当你有工作代码并且你只是想出于组织原因将它的一部分拆分成另一个文件时,(对你来说!)应该如何做到这一点。

在Python中,每个类都必须在其自己的单独文件中定义 not 。如果你愿意,你可以这样做,但这不是强制性的。

答案 1 :(得分:0)

当你说“贯穿所有人”时,你的意思并不清楚。

如果您的意思是“导入它们以供使用”,那么您应该:

  1. 确保shapes的父文件夹位于PYTHONPATH环境变量中;然后使用
  2. from shapes import ball