Python入门课程NO77课 package是什么
package,即通常所说的包结构,是一种包裹模块文件的目录结构。通俗地来进行解释,package是一个模块仓库。可以通俗的理解为一个目录文件夹就是一个package,比如下图中的Lib和pip都是package。
package也是对象,可以理解为一种命名空间对象。Python中的类有一个特殊的__init__方法,用来对对象进行初始化。在package中可以添加一个__init__.py,在__init__.py对package进行初始化,为package定义属性和方法。
在企业开发中,通常使用三层结构来组织项目结构。三层架构是按照按项目的功能来划分的三层逻辑结构:表示层,业务逻辑层,数据访问层。表示层的功能是接收用户输入的数据,以及进行数据显示。业务逻辑层,对应于具体的业务规则,数据访问层则将数据的读写操作封装到一个package。
使用分层架构使得项目的逻辑结构变得清晰可读,分工明确,开发人员只需关注整个结构中的某一层,降低了维护成本。我们现在使用Python中的package来组织三层架构,使用package组织三层架构的主要形式:
其中main.py是整个应用程序的入口,uil指的是数据表示层,bll指的是业务逻辑层,而dal代表数据访问层。三层结构并不是单纯将每个package进行命名,按这种逻辑形式进行项目的组织,程序员在实际的设计过程中,应遵循模块化设计原则,同时多考虑代码的复用性以及减少层与层之间的相互依赖。
- 上一篇
Python入门课程NO76课 模块的导入机制
上节课讲到import可以进行模块的导入操作,通过improt导入后Python解释器会自动将导入的模块名写入到内置模块sys的modules属性中。 sys.modules是一个字典对象,键名为模块名。待更新...
- 下一篇
Python入门课程NO78课 模块的绝对导入和相对导入
模块的导入分两种,绝对导入和相对导入。下面分别来讲解:绝对导入:模块的绝对导入是指从当前顶层的package位置处开始导入。这里涉及到一个概念:顶层package。在上文的目录结构中,main.py与utils处于同一目录,utils是最顶层的包,utils下面的arithmetic是子级的包。在mai