python的包就是一个文件夹
这个文件夹与普通文件夹的区别在于他必须包含一个
__init__.py
的文件
这个文件可以包含代码 也可以没有内容 只是用于标识一个包
这个文件本身是一个模块 这个模块的名字是文件夹的名字
而不是 包名.__init 而是包的名字 即这个文件夹的名字
命名空间
import只能导入模块 并不能导入函数或者变量
import 包1.子包2.子包3.模块名
使用的时候 包1.子包2.子包3.模块名.变量(或函数)
但是这样使用即麻烦也不美 所以要用到as 关键字
import 包1.子包2.子包3.模块名 as m
m是 包1.子包2.子包3.模块名的别名
使用的时候直接 m.变量(或函数)即可
form 模块 import 变量(类或函数)
form t.c7 import a
from t.c7 import * 可读性差 不推荐使用
from 包 import 模块 也是可以的 但是不推荐使用
模块中的 __all__=['a','b']
表示这个模块可以被外部引入的变量只有 a和b