跳转至

项目

698 个字 预计阅读时间 3 分钟

程序结构

Structuring Your Project — The Hitchhiker's Guide to Python

  • 源代码目录:存放项目的主要代码,通常命名为 src 或项目名称。
  • 测试目录:存放项目的测试代码,一般命名为 tests
  • 配置文件:如config.py.env,用于存储项目的配置信息。
  • 依赖管理文件:如requirements.txt,列出项目所需的第三方库及其版本。
  • 脚本文件:如main.py,作为项目的入口点。

(1 封私信 / 6 条消息 ) Python 项目脚手架 - 知乎 各类Python项目的项目结构及代码组织最佳实践_python项目结构-CSDN博客 Python 项目组织最佳实践:从脚本到大型项目的进化之路 - Piper蛋窝 - 博客园 Python项目结构:构建高效项目的秘诀 - 极客技术博客

多文件编程

  • 模块⽤于组织较⼤的 Python 项⽬
  • Python 标准库拆分为多个模块,以便管理。
  • 模块以⽂件形式存放,⼀个模块定义了⼀组 Python 函数和其他对象,它们是有关联的
  • ⼀个 Python 程序可以在不同⽂件中,这些⽂件是⼀个个模块。⽤ import 语句引⼊
  • 模块名是另外⼀个 Python ⽂件的⽂件名 , 不包含扩展名 , 模块就是可以运⾏的程序
  • import <模块名>就是执⾏由模块名代表的程序
  • 引入模块中的函数另⼀⽅法

    • from <模块名> import *
      • 这种⽅法引⼊模块中的所有函数,调⽤的时候不需要再加模块名
    • from <模块名> import <函数名>
      • 这种⽅法引⼊模块中的单个函数,调⽤的时候也不需要再加模块名
    • 模块名字空间
    • 每个 py 文件是一个模块,模块名就是文件名
    • 在每个模块里的全局变量和函数是模块内的,在模块内部可以直接使用,在模块外部要通过模块的名字引用
    • 用哪个 py 文件启动程序,那个 py 文件的模块的模块空间就是全局名字空间
    • dir(模块名):显示模块属性
    • __main__
    • 程序运⾏时,解释器会制造变量__name__
    • 如果模块作为主程序运⾏,__name__变量的值是 __main__
    • 如果模块被另⼀模块导⼊,__name__变量的值是 模块名

  • 包是模块概念的⾃然扩展,旨在应付⼤型的项⽬
  • 模块把相关的函数、类和变量组织到⼀个⽂件中
  • 包则把相关的模块组织到⼀个⽬录中
  • 包是⼀个⽬录,其中包含⼀组模块⽂件和⼀个init.py⽂件
  • init.py可以是空⽂件,但⽬录中必须有
  • 第⼀次加载包时,会执⾏init.py⽂件,完成初始化⼯作
  • 如果模块存在于包中,使⽤import 包名.模块名形式导⼊包中模块
  • ⽤以下形式调⽤函数:包名.模块名.函数

命令行参数

  • sys.argv[0] # 程序的⽂件名
  • sys.argv[1] 第⼀个参数