1. import
import 语句导入:
import 模块名 #导入一个模块
import 模块1,模块2… #导入模块并使用新名字
import加载的模块分为四个通用类型
a.使用python编写的代码(.py文件);
b.已被编译为共享库或DLL的C或C++扩展;
包好一组模块的包
使用C编写并链接到python解释器的内置模块;
我们一般通过import语句实现模块的导入和使用,import本质上是使用了内置函数__import__()
from…import 导入的是模块中的一个函数/一个类
#import 导入的是“文件”,from…import 导入的是文件下的“内容”
_import加载底层原理_importlib模块.
如果需要动态导入可以使用importlib模块
import importlib
a = importlib.import_module(“math”)
print(a.pi)
2.package
包的概念和创建包和导入包
导入包的本质其实是“导入了包的__init__.py”文件。也就是说,"import pack1"意味着执行了包pack1下面的__init__.py文件,可以在__init__.py中批量导入我们需要的模块。
init,py的三个核心作用:
(1)作为包的标识,不能删除。
(2)用来实现模糊导入。
(3)导入包实质执行__init__.py文件,可以__init__.py文件中做这个包的初始化、以及需要统一执行代码。
包内引用
如果是子包内的引用,可以按相对位置引入子模块,以aa包下的module_AA中导入a包下内容为例:
#from … import module_A #…表示上级目录,.表示同级目录
#from . import module_A2 #.表示同级目录
3. path
sys.path和模块搜索路径详解
一般按以下顺序寻找模块文件
1.内置模块
2.当前目录
3.程序的主目录
4.pythonpath目录(如果已经设置了pythonpath环境变量)
5标准链接库目录
6.第三方库目录(site-packages目录)
7…pth文件的内容(如果存在的话)
8.sys.path.append()临时添加的目录
当任何一个python程序启动时,就将上面这些搜索路径(除内置模块以外的路径)进行收集,放到sys模块的path属性中(sys.path)。
4.发布
模块的本地发布_模块的安装
构建一个发布文件。通过终端,cd到模块文件夹c下面,再键入命令:python setup.py sdist
本地安装模块
在cmd命令模式下操作,进setup.py所在目录,键入命令:
python setup.py install
PyPI官网_远程上传和管理模块_PIP方式安装模块
#安装:pip install baizhanSuperMath