所有代码都应该在类中 - 并且只调用一次主类吗?

时间:2016-03-06 20:10:08

标签: python

每当我编写某些内容时,它几乎只是一个没有任何类的文件(只是一堆方法),我会通过命令行运行它。

当然,这是一种非常糟糕的做法,并不适用于任何更大的应用程序。

既然我最终想要构建更大的东西,我对代码的执行位置感到有些困惑。我们来举个例子。

我有一个json文件,其中包含一个人拥有的项目,我还有另一个json文件,其中包含每个项目的价格,以及我已有的数量(更高的数量=提供更低的价格等)。

现在我想向这个人提出要约,说明哪些项目以及我从他那里购买了多少物品。

这是我设计的费用:

class Person(object):
    ...
    def getInventory(self):
        return self.inventory

class Inventory(object):
    ...
    def getInventory(self):
        return self.inventory

class Main(object):
    person1 = Person(someArgs)
    haveInventory = Inventory(someArgs)

    def run(self):
        ... do calculations ...

main = Main()
main.run()

这有意义吗?

P.S。:我自己的库存和人员库存有不同的结构,因此库存不能真正成为人的子类。

1 个答案:

答案 0 :(得分:0)

如果它们是独立的,那么独立功能没有任何问题。如果它们对一个对象的属性进行操作,那么创建一个类并使它们成为该类的方法。

最好有一个main函数,并且只在你的python文件被直接运行时调用它。 (这意味着您可以将文件导入其他文件,并使用这些类。)因此更像是:

class Person(object):
    ...
    def getInventory(self):
        return self.inventory

class Inventory(object):
    ...
    def getInventory(self):
        return self.inventory

def main():
    person = Person(someArgs)
    haveInventory = Inventory(someArgs)
    ... do calculations ...

if __name__ == "__main__":
    # execute only if run as a script
    main()

......但不要害怕功能。你没有 使用课程(这是重复的另一种方式" PM 2Ring"""评论:"请不要尝试用Python编写Java。