day 17
今日内容
1.导入模块的细节
2.包的概念与使用
3.包中的相对导入语法
跨文件夹导入模块
1.有执行文件为t需要导入a文件下的模块ma 当a文件夹在坏境变量中 a文件夹中的ma模块可以被一下方式导入
import a.ma 或者 from a import ma
2.如果a文件夹所在目录在环境变量,a文件夹中的b文件夹的mb模块可以被以下方式导入
import a.b.mb 或者# 3.如果a文件夹所在目录在环境变量,a文件夹中的b文件夹的mb模块中的bbb名字要被直接
3.如果a文件夹所在目录在环境变量,a文件夹中的b文件夹的mb模块中的bbb名字要被直接导入
import a.b.mb.bbb # 错误:所有.左侧必须是文件夹 *****
from a.b import mb.bbb # 错误:所有.左侧必须是文件夹
from a.b.mb import bbb # 正确 from a.b import mb
包
包指的是一系列模块的集合体 用文件夹来管理一系列有联系功能的模块,该文件夹我们称之为包,文件夹起名为包
包与普通文件夹存在区别 包文件夹中包含一个__init__.py文件 p2中必须创建 p3中建议创建不创建系统自动创建
__init__.py文件其实就是包的全局名称空间 存放模块的名字的 这样包直接可以.出来名字直接使用
在__init__.py文件中操作包中的模块 from 包 import 模块名 或者 from 包.模块名 import 模块名中的对象 这样在执行文件中
直接可以用包.名字 可以直接执行包中的模块 可以取出包里面模块里面的数据 在包中采用相对导入管理模块或者模块中的名字
在包的__init__.py文件或是包中任意一个模块中
. 代表当前文件所在目录
.. 代表当前文件所在目录的上一级目录
注:.语法不能出包,因为包外的文件都能自执行,但拥有.开头导入的文件不能自执行