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

2024-04-25 00:19: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()

这有道理吗?你知道吗

注:我自己的库存和人的库存有不同的结构,所以库存不可能是人的子类。你知道吗


Tags: 文件代码selfjson数量returnobjectdef
1条回答
网友
1楼 · 发布于 2024-04-25 00:19:08

如果独立函数是独立的,那么它们就没有错。如果它们对一个对象的属性进行操作,则生成一个类,并使它们成为该类的方法。你知道吗

最好有一个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()

。。。但不要害怕功能。您没有使用类(这是重复“pm2ring”评论的另一种方式:“请不要尝试用Python编写Java”)。你知道吗

相关问题 更多 >