python中的包

  使用模块可以避免函数名和变量名引发的冲突,那么如果模块名重复怎么办?在python中,提出了包的概念(package)的概念,包是一个分层次的目录结构,它将一组功能相近的模块组织在一个目录下,这样既起到了规范代码的作用,又能避免模块重名引发的冲突。

  说明:包简单的理’解就是[文件夹],只不过是在该文件夹下必须存在的一个名称为“__init__.py”的文件。

一、python程序的包结构

  实际项目开发过程中,会创建多个包用于存放不同类型的文件。例如,开发一个网站时可以创建。如图所示的包结构

  

 

 说明:先创建了一个名为shop的项目,然后再该包下面又创建了admin、home、templates 3个包,和一个 manage的文件,最后又在每个包中,又创建了相应的模块

1、创建和使用包

  创建包实际上就是创建一个文件夹,并且在该文件夹下创建一个名为__init__.py的python文件,在这个文件中,可以不编写任何代码,也可以编写一些python代码,在这个文件中写的代码,在导入包时会自动执行。

备注:__init__.py文件是一个模块文件,模块名为对应的包名,例如,在setings包中创建的__init__.py文件,对应的模块名称就叫seting。

2、使用包

  创建包以后,就可以在包中间创建相应的模块,在使用import语句从包中加载模块,从包中加载模块通常有3种模式。

  (1)通过import+完整的包名+模块名形式加载指定模块,例如有一个名称为seting的包,该包下面有个名称为size的模块,要导入模块,可以使用一下代码。

import seting.size

  通过该方式导入模块后,在需要使用完整的名称,例如在size模块下有2个变量

width = 800, height = 600

  这时,在通过import+完整的包名+模块名形式导入size模块后,在调用width和height变量时,就需要在变量名前加入“setting.size”前缀。代码如下

settings.size.width
settings.size.height

 

posted on 2019-12-05 14:19  超nmmmmm  阅读(381)  评论(0编辑  收藏  举报

导航