Python:如何组织Python项目的建议。一些问题

时间:2013-01-08 15:23:14

标签: python coding-style

首先,谢谢,我知道堆栈溢出充满了这个论点(但我们可以考虑一个复习问题)。我有一些关于组织Python项目的问题。

从这个link我找到了这个很好的架构

/myproject
   /__init__.py # This makes it a Python package and importable.
   /evaluate.py # Contains the code to actually do calculations.
   /main.py # Starts the application
   /ui.py # Contains the code to make a pretty interface
来自此web site __init__.py

通常为空

我的问题是:

  1. 假设你有一个函数(def foo)。 foo位于 evaluate.py或在main.py?
  2. 如果foo位于main.py(或evaluate.py)中,则为evaluate.py(或 main.py)包含?
  3. 有时我会找到utilities.py和/或module.py。 utilities.py/module.py包含哪些内容?
  4. 提前致谢

1 个答案:

答案 0 :(得分:1)

从我的编码风格: main.py:总是做一些关于从environ outside和load config文件初始化变量的简单方法。并包装实际的逻辑事物。例如:

from evaluate import actual_things
def run():
    ...
    actual_things()
    ...

if __name__ == '__main__':
    init()
    load_from_config()
    run()

问:有时我会找到utilities.py和/或module.py。 utilities.py/module.py包含哪些内容? 答:utilities.py:或utils.py经常是帮手。如编码和解码,加密等。

问:如果foo位于main.py(或evaluate.py)中,evaluate.py(或main.py)包含哪些内容? 答:你可以指出foo做什么,根据foo的功能,我们将foo定位到某个地方。如果foo是业务相对功能,则foo应位于evaluate.py。

问:假设你有一个功能(def foo)。 foo位于evaluate.py或main.py中? 答:见上文。

最后,我认为最好的方法是整体学习一个项目。你会知道QA无法提供帮助。