Python中同类的多个对象
我在Python里有一堆同一类的对象。
我决定把每个对象放在不同的文件里,因为这样管理起来更方便(如果我想添加更多对象或者单独编辑它们)。
不过,我不太确定怎么去遍历这些对象,它们在另一个包里。
所以如果我在Netbeans里查看,我有一个顶层包... 还有一个叫Shapes的包,
在Shapes包里有Ball.py、Circle.py、Triangle.py(这些文件里都有一个构造函数,用来创建特定形状的对象),它们都是来自GraphicalShape类。
这个类是在顶层包的GraphicalShape.py文件里配置的。
现在,我在顶层包里还有一个叫newpythonproject.py的文件,这个文件会开始调用每个形状并对它们进行操作,我该怎么遍历所有的形状呢?
另外:这样做是否合适?
补充说明:别在意大小写的问题...
为了更清楚,我还添加了一张项目树的图片。
http://i47.tinypic.com/2i1nomw.png
2 个回答
你说的“把它们都运行一遍”是什么意思还不太清楚。
如果你的意思是“导入它们以便使用”,那么你应该:
- 确保
shapes
的父文件夹在PYTHONPATH环境变量中;然后使用 from shapes import ball
。
看起来你对Python的一些术语有点误解。在Python中,“对象”这个词指的是一个类在运行时的实际实例。根据我所了解,你有一个叫做Shape
的类,下面有几个“子类”,分别是ball
、circle
和triangle
。需要注意的是,子类也是一种类。你把每个子类的代码放在不同的文件里,这样做是可以的。
我觉得你可能有点混淆,因为你在项目的文件结构上花了太多时间。其实在Python中,通常从一个文件开始会更简单,把你需要的所有内容(函数、类等等)都写在这个文件里。先把代码弄好,等到代码能正常工作后,如果你想把某部分代码分到另一个文件里以便更好地组织,那时候你会更清楚该怎么做。
在Python中,并不是每个类都必须在自己单独的文件中定义。你可以这样做,如果你愿意,但这并不是强制的。