模块,包

 
 
 
一. 什么是模块?
 
 
py文件就是一个模块
 
 
分类:
 
 
系统模块(标准库)
 
 
第三方模块 (需要下载的pip3 install 模块名字)
 
 
用户自定义模块(自己写的py文件)
 
 
模块的作用?
 
 
实现功能的重复利用,提高代码的效率
 
 
把相似功能放到一个文件,永久保存
 
 
模块的导入方式:
 
 
import...
 
 
from ...import ...
 
 
import 做了什么?
 
 
执行导入模块的代码
 
 
创建模块的命名空间
 
 
把模块的命名空间中的变量,方法引入
 
 
注意的问题:
 
 
模块不会被重复导入
 
 
避免循环导入
 
 
模块的查找顺序:
 
 
自己所在的目录下
 
 
内置空间
 
 
sys.path
 
 
sys.modules
 
 
导入模块后存入的字典 (第一个元素是模块当前路径)
 
 
sys.path 模块路径 列表
 
 
as 关键字
 
 
给复杂模块起别名,方便使用
 
 
 
if __name__ == '__main__': # 快捷键 main+tab
 
 
文件当脚本去执行,下面的代码执行
 
 
文件当模块导入时,下面的代码不执行
 
 
 
二.
 
 
定义:
 
 
含有__init__.py 文件的文件夹就是包
 
 
多个模块的集合
 
 
本质就是模块
 
 
 
绝对导入:
 
 
执行文件所在的目录
 
 
导入要精确到模块--不出问题
 
 
import 要调用方法,后面写的都要写上
 
 
from aaa.ccc import c c.c()
 
 
from . 左边的一定是个包,否则出错
 
 
import 后面的内容一定不能带 .
 
 
相对导入:
 
 
执行文件中不能用相对导入
 
 
. 当前位置 .. 上一级目录 ... 上上目录
 
 
当你写好的包给别人用时,自己不用可以用相对导入
 

猜你喜欢

转载自www.cnblogs.com/hjy472458040/p/11940062.html