包的基本使用

应当熟练掌握模块及包之间的调用关系,以后项目中常用。

1.什么是包?

包是模块的一种形式,包的本质就是一个含有__init__.py文件的文件夹。

2.为什么要有包?

如果一个模块里面很多方法,有时候需要修改里面的一些功能,查找起来很不方便。

所以需要把文件里面的方法抽离出来,分在多个文件存放,方便增加功能。

3.包怎么样?

导入包就是导入包下面的__init__.py

import ...

from ... import ...

注意的问题

1.包内所有的文件都是被导入的,而不是被执行的。

2.包内部的导入可以使用绝对导入(以包的根目录为准)和相对导入(以当前被导入的模块所在的目录为基准),推荐使用相对导入

3.当文件是执行文件时,无法在该文件内用相对导入的语法。

只有在文件被当作模块导入时,该文件才能使用相对导入的语法。

4.凡是在导入时带点的,点的左边必须是包。

import aaa.bbb.m3.f3 # 错误

import aaa
5.首次导入包发生的三件事:
1.创建一个包的名称空间。
2.执行包下的__init__.py文件,将执行过程中产生的名字存放于包的名称空间。
3.在当前执行文件拿到一个名字aaa,aaa是指向包的名称空间的。

原文地址:https://www.cnblogs.com/Roc-Atlantis/p/9198708.html