【问题标题】:Multiple Objects of the same class in PythonPython中同一类的多个对象
【发布时间】:2010-06-04 22:04:23
【问题描述】:

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

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



p.s.别介意大写小写的东西......

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

【问题讨论】:

    标签: python oop packages


    【解决方案1】:

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

    我认为您搞混了,因为您过早地关注项目的文件布局。使用 Python 通常更容易从一个文件开始,在该文件中编写您需要的所有内容(函数、类等)。先把事情做好。稍后,当您有工作代码并且出于组织原因只想将其中的一部分拆分到另一个文件中时,(对您而言!)应该如何完成会更加明显。

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

    【讨论】:

      【解决方案2】:

      当您说“遍历它们”时,您的意思并不清楚。

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-11-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-11-15
        • 2022-12-10
        相关资源
        最近更新 更多