码迷,mamicode.com
首页 > 编程语言 > 详细

python--5、包

时间:2017-10-21 16:28:04      阅读:241      评论:0      收藏:0      [点我收藏+]

标签:文件的   本质   data-   必须   from   调用   空间   lock   包含   

包,即一个包含__init__.py文件的文件夹,创建包的目的也就是为了用文件夹将文件(模块)组织起来。
python3中,即使包里没有__init__.py文件,仍能import使用。而python2中包下一定得有__init__.py才能用。
?创建包的目的不是为了运行,而是被导入使用。包只是模块的一种形式,包的本质就是模块(文件夹形式)。
随着功能模块越来越多,就要用文件夹将模块文件组织起来,以提高程序的结构性和可维护性。

导入原则:凡是在导入时带点的,点的左边都必须是一个包,否则非法。可以带有一连串的点。导入后使用时点左边可以是包、模块、函数、类。

import导入文件时,产生名称空间中的名字来源于文件,import 包,产生的名称空间的名字同样来源于文件,即包下的__init__.py,导入包本质就是在导入该文件

可以在__init__.py里导入里层包的函数,以简化调用。

需要注意的是from后import导入的模块,必须是import后不能带点。若import后为* 是想从包api中导入所有,实际上该语句只会导入包api下__init__.py文件中定义的名字,我们可以在这个文件中定义__all___。

绝对导入和相对导入

  • 绝对导入:以最顶级包为起始。
  • 相对导入:用.或者..的方式最为起始

包以及包所包含的模块都是用来被导入的,而不是被直接执行的。而环境变量都是以执行文件为准的,同级目录下的模块,相互调用时不能用Import module_name。

python--5、包

标签:文件的   本质   data-   必须   from   调用   空间   lock   包含   

原文地址:http://www.cnblogs.com/jinyudong/p/7703600.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!