Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/351.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python:如何组织Python项目的建议。一些问题 首先,谢谢,我知道堆栈溢出充满了这个论点(但是我们可以考虑一个复习问题)。我对组织一个Python项目有一些疑问_Python_Coding Style - Fatal编程技术网

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

Python:如何组织Python项目的建议。一些问题 首先,谢谢,我知道堆栈溢出充满了这个论点(但是我们可以考虑一个复习问题)。我对组织一个Python项目有一些疑问,python,coding-style,Python,Coding Style,从中我找到了这个很好的模式 /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

从中我找到了这个很好的模式

/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
从这个
\uuuu init\uuuu.py
通常是空的

我的问题是:

  • 假设您有一个函数(def foo)。foo位于 评估.py还是在main.py中
  • 如果foo位于
    main.py
    (或
    evaluate.py
    )什么evaluate.py(或 py)包含什么
  • 有时我会发现
    utilities.py
    和/或
    module.py
    。utilities.py/module.py包含哪些实用程序
  • 提前感谢我的编码风格:
    main.py
    :始终执行有关从外部环境初始化变量并加载配置文件的简单操作。并包装实际的逻辑事物。例如:

    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中? A:见上文


    最后,我认为最好的了解方法是全面了解一个项目。你会知道QA帮不了什么忙。

    我喜欢相信形式源于功能。您的项目所做的将决定如何组织它。您的示例有两个组件,一个ui和一个计算,因此有两个py文件用于这些组件,其余的是粘合在一起的。至于你的foo去了哪里,它是一个计算foo还是一个ui foo。最后,到处使用的helper函数通常在common.py或utilities.py中。我不认为这个例子是字面意义上的。它用来说明,创建模块并不是为了保存单个类或其他东西,而是为了包含逻辑组。对不起,yes calculation->evaluateTo展开delnans注释,如果它计算内容,请evaluate.py。如果它与向用户显示内容相关,则为ui.py。如果它与启动一切或清理相关,main.py.通常在
    main
    中解析命令行参数、读取环境、解析配置文件、打开输入文件、连接到服务器等,然后将工作交给实际的处理模块。