Python中同类的多个对象

0 投票
2 回答
1260 浏览
提问于 2025-04-15 23:33

我在Python里有一堆同一类的对象。
我决定把每个对象放在不同的文件里,因为这样管理起来更方便(如果我想添加更多对象或者单独编辑它们)。

不过,我不太确定怎么去遍历这些对象,它们在另一个包里。
所以如果我在Netbeans里查看,我有一个顶层包... 还有一个叫Shapes的包,
在Shapes包里有Ball.py、Circle.py、Triangle.py(这些文件里都有一个构造函数,用来创建特定形状的对象),它们都是来自GraphicalShape类。
这个类是在顶层包的GraphicalShape.py文件里配置的。
现在,我在顶层包里还有一个叫newpythonproject.py的文件,这个文件会开始调用每个形状并对它们进行操作,我该怎么遍历所有的形状呢?
另外:这样做是否合适?



补充说明:别在意大小写的问题...

为了更清楚,我还添加了一张项目树的图片。
http://i47.tinypic.com/2i1nomw.png

2 个回答

0

你说的“把它们都运行一遍”是什么意思还不太清楚。

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

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

看起来你对Python的一些术语有点误解。在Python中,“对象”这个词指的是一个类在运行时的实际实例。根据我所了解,你有一个叫做Shape的类,下面有几个“子类”,分别是ballcircletriangle。需要注意的是,子类也是一种类。你把每个子类的代码放在不同的文件里,这样做是可以的。

我觉得你可能有点混淆,因为你在项目的文件结构上花了太多时间。其实在Python中,通常从一个文件开始会更简单,把你需要的所有内容(函数、类等等)都写在这个文件里。先把代码弄好,等到代码能正常工作后,如果你想把某部分代码分到另一个文件里以便更好地组织,那时候你会更清楚该怎么做。

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

撰写回答