模块
简介
- 每一个以扩展名py结尾的Python源代码文件都是一个模块,模块名同样也是一个标识符,需要符合标识符的命名规则
- 模块就是工具包,模块内的函数就是工具,想要使用工具,就要导入工具包(模块)
导入方式
- import:导入,是一次性把模块中所有函数全部导入
-
import 模块名
- 在导入模块时,每个导入应该独占一行
- 通过
模块名.
使用模块提供的函数
- import代码统一写在代码顶部,容易及时发现冲突,一旦发现冲突,可以使用
as
关键字给其中一个函数起别名:import 模块名 as 模块别名
- from...import:导入,导入模块部分函数
# 从模块导入某个工具
from 模块名 import 函数名
- 如果两个模块,存在相同的函数,会被后导入的模块函数覆盖掉
模块的搜索顺序
- 导入模块时,会先搜索当前目录指定模块名的文件,如果有就直接导入,没有,在搜索系统目录
- 可以通过
sys.path
给出的列表查看目录里,依次要导入的模块文件,列表中的路径的先后顺序代表了Python解释器在搜索模块时的先后顺序 - 可以通过
sys.path.append('xxx')
的方式添加路径,通过sys.path.insert(0,'xxx')
可以确保先搜索这个路径 - Python中每一个模块都有一个内置属性
__file__
可以查看模块完整路径
name属性
- name_是Python的一个内置属性,记录着一个字符串,如果被其他文件导入,name就是模块名
包
- 包是一个包含多个模块的特殊目录,目录下有一个特殊的文件:init.py
- 包名的命名方式和变量名一致
发布模块
创建模块
- 创建setup.py
from distutils.core import setup
setup(name="hm_message", # 包名
version="1.0", # 版本
description="itheima's 发送和接受消息模块", # 描述信息
long_description="完整的发送和接受消息模块", # 完整描述信息
author="xxx", # 作者
author_email="xxx@xxx.com", # 作者邮箱
url="www.xxx.com", # 主页
py_modules=["hm_message.send_message","hm_message.receive_message"])
构建模块
$ python setup.py build
生成并发布压缩包
$ python setup.py sdist
安装模块
$ tar -zxvf hm_message-1.0.tar.gz # 解压模块
$ sudo python setup.py install $ 提权并进行模块安装
卸载模块
- 直接从安装目录中,把安装的模块的目录删除就可以了
安装第三方模块
- 第三方模块通常是指由知名的第三方团队开发,并且被广泛使用的Python包/模块
安装和卸载
$ sudo pip3 install 模块名 # 安装模块
$ sudo pip uninstall 模块名 # 卸载模块