# PyStudentSystem **Repository Path**: bosen/PyStudentSystem ## Basic Information - **Project Name**: PyStudentSystem - **Description**: 用于给只有5秒钟记忆的孩子,提供学习平台。 - **Primary Language**: Python - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-05-14 - **Last Updated**: 2023-06-04 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # PyStudentSystem #### 介绍 本项目的意图是指导孩子如何应用Python编程技术于生活。本项目重点是引导孩子如何去使用Python+tkinter进行GUI界面开发。 #### 软件架构 本项目采用Python 3.10,Tkinter作为前端GUI,使用SQLIT作为本地数据。 #### Python项目的项目结构及代码组织最佳实践☆☆☆☆☆ 1. 了解Python项目文件组织结构非常重要 ###### 为什么要掌握pythob项目结构? 1. 优秀的程序员都使用规范的项目代码结构,了解这些好的习惯方式,能帮助你快速读懂代码 1. 如果项目是几个人合作开发,好的代码结构,便于分工,减少混乱,使项目开发过程更顺畅 2. 预备知识:Package包、Module模块与File文件的关系 ###### Package由模块组成,包含功能代码的.py代码文件也成为Module模块,但不能把config.py, __init__.py称为模块 ![structure_of_packages.png](images%2Fstructure_of_packages.png) 3. 预备知识:包与目录的关系 ###### 虽然在形式上,可以把1个包理解为1个目录,但并非是包含代码的目录都是包,二者区分的关键是,是否包含包目录—__init__.py文件,不包含次文件的不能称之为包目录 ![packages_vs_directories.png](images%2Fpackages_vs_directories.png) 4. 应用最广泛的python项目结构的基本形式 ###### 这里介绍的python项目结构适合于中小型项目,应用非常广泛,初学者应该养成好习惯,刚开始就应该用这种方式来组织自己的代码。 ###### 假设新项目名称为myproject,可以在windows或linux终端,创建如下项目结构 ```python └─myproject # 这是项目根目录,项目根目录主要用于存放配置、手册、启动文件等 │ .gitignore # 使用git作为仓库,这个文件说明哪些文件不上传 │ LICENSE # 许可说明文件 │ readme.md # 项目介绍文档 │ requirements.txt # 第三方依赖库列表 │ setup.py # 这是要安装的包信息 │ ├─myproject # 这是myproject包目录,主要功能都放在目录。由于该项目功能不多,只有1个包,因此用项目名称作为包名。实际可根据功能划分包。 │ main.py │ util.py │ __init__.py # __init__.py文件,如果与类定义相比,它相当于是 python package 的constructor 构造方法, 其作用是,告诉python解释器,要把本目录下哪些的函数导进包,以及这些函数位于哪些文件中。 │ └─test # 主要保存测试文件,都是test开头文件。 test_main.py ``` ###### [点击查看\_\_init__.py 详细扩展资料](https://blog.csdn.net/captain5339/article/details/127755850) ###### 如果还需要简化,可以将myproject包目录去掉,功能.py放置在项目根目录 ```python sample/ ├── .gitignore ├── LICENSE ├── README.rst ├── requirements.txt ├── sample.py ├── setup.py └── test_sample.py ``` ###### 带子应用的项目结构。如果项目功能较多,有几个开发者,可以把项目拆分,分成几个子包来开发。在 myproject的主包目录下创建子包目录 ```python └─myproject │ .gitignore │ LICENSE │ readme.md │ requirements.txt │ setup.py │ ├─myproject │ │ main.py │ │ util.py │ │ __init__.py │ │ │ ├─app_sample # 拆分成子包 │ │ │ sample.py │ │ │ __init__.py │ │ │ │ │ └─__pycache__ │ │ sample.cpython-39.pyc │ │ __init__.cpython-39.pyc │ │ │ └─__pycache__ │ main.cpython-39.pyc │ __init__.cpython-39.pyc │ └─test test_main.py ``` #### 安装教程 1. 安装 Python 3.10+ 2. pip install Tkinter 3. pip install sqlite3 4. 数据库工具 Navicat Premium #### 使用说明 1. xxxx 2. xxxx 3. xxxx #### 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request #### 特技 1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md 2. Gitee 官方博客 [blog.gitee.com](https://blog.gitee.com) 3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解 Gitee 上的优秀开源项目 4. [GVP](https://gitee.com/gvp) 全称是 Gitee 最有价值开源项目,是综合评定出的优秀开源项目 5. Gitee 官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help) 6. Gitee 封面人物是一档用来展示 Gitee 会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)