模块和包

什么是模块?
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 后面的内容一定不能带 .
相对导入:
执行文件中不能用相对导入
. 当前位置 .. 上一级目录 ... 上上目录
当你写好的包给别人用时,自己不用可以用相对导入
原文地址:https://www.cnblogs.com/zuohangyu123/p/11940815.html