模块与包
模块与包其实就是借助外力和内力两种方式去更好,更方便的解决问题。
- 了解模块
- 系统模块和第三方模块
- 系统的模块 python自带的 不需要下载 直接导入就行
- 第三方模块 需要下载 下载后才可以导入使用 (pypi)
- 模块的名称是不会重复的,但是包里的文件名称,函数,类可能会重复
- 导入模块
- 导入方式
- import 模块的名字
- 可以直接引用导入模块,及时模块内的函数重复,但调用的时候也不会乱
- from 模块包里面 import 模块,模块,模块,.....
- 如果只使用一个函数可以直接调从模块中调用函数
- 如果使用几个不同模块调用名字相函数, as 取一个别名
- 这样减少不必要模块的导入 打包成应用程序的时候可以修改导入
- from 模块包里面 import * ( *所有的)不推荐
- 会把模块内的所有函数调用出来,一旦有多个模块的函数调用出来,容易发生混乱,不知道调用哪个函数
- import 模块的名字
- 导入路径
- 导入一个模块会先找 同级路径→项目路径→模块路径
- 系统文件 python\Lib
- 下载的文件 python\Lib\site-packages
- 导入一个模块会先找 同级路径→项目路径→模块路径
- 常见的 系统模块
- import random 随机模块
- random.random() 随机0-1的小数 每次都生成不同的内容
- random.randint(范围)随机范围数字
- 这个只能是int型
- random.randint(1, 4)随机1-4的数字 包括1和4 但都是整数
- random.shuffle(列表) 随机列表
- 直接打印显示None
- 随机列表要对方法操作后,在打印列表才能显示
- import random 时间模块
- import random 随机模块
- 制作模块
- 常量
- NV_MAGICCONST 全部大写
- python里面没有常量 把大写的变量约定为常量
- 常量不能改变的数字
- 例如:圆周率 PI = 3.14 全部大写,提醒别人和自己不要去修改,本质还是一个普通变量
- 自建模块
- 模块就是一个普通的python文件
- 自己增加一个py文件,自己在内部定义函数
- 在导入引用时,就会出现
- 然后可以使用
- 创建包
- 使用方法
- 在Python中创建一个文件夹,把py写在里面
- 没在一个路径下导入会报错
- 所以需要在指定包下导入
- 导入方法
- 导入文件
- from toool import func1
- func1.add(2, 3)
- 导入具体函数
- from toool.func1 import add
- add(2, 3)
- 导入文件
- __init__.py 当导入模块的时候自带运行__init__.py文件初始化一些数据
- 使用方法
- 防错
- 模块测试不被代入应用函数中
- 调试函数时,会经常运行函数,在模块调用函数时就容易一起加载出来,发生错误
- 为了避免,在模块的编写时,运用魔法方法解决问题
- __name__
- 在模块中答应的__main
- 在应用中显示的是函数调用的名字
- 所以在测试模块中的函数时,可以在if语句中运行
- 这样在测试模块中显示测试的数据 不会被传入函数中
- 测试函数的定义函数是否正确 可以在魔法函数name下,增加if判断
- 模块测试不被代入应用函数中
- 下载模块
- 系统设置里下载,还能选定版本
- 终端下载
- 下载 pip install 模块的名字 有的内置模块报错,不需要下载
- 删除 pip uninstall 模块的名字
- 设置下载版本 pip install 模块的名字==版本号
- 出现问题
- pip 无法识别的命令 环境变量没有安装好 确认没问题pip3
- 出现黄色的警告说明匹配需要升级,可以使用下面命令升级
- 红色,下载失败,可以是网络的原因 文件在国外服务器上面
- 网页下载
- 国内 pip 清华源
- https://mirrors.tuna.tsinghua.edu.cn/help/pypi/
- pip install 模块名称 -i https://pypi.tuna.tsinghua.edu.cn/simple
- 升级pip python -m pip install --upgrade pip
- 国内 pip 清华源
- 搜索模块
- 一个模块 复制模块去百度查找如何下载 50%-70%模块 和名称是不一样的
- 例如import cv2 pip install cv2
- 搜索这个查找→python cv2 模块下载
- 会发现其实import cv2并不是需要安装cv2而是要安装opencv-python
- 一个模块 复制模块去百度查找如何下载 50%-70%模块 和名称是不一样的
标签:03,函数,编程,第八,导入,模块,pip,import,下载 From: https://www.cnblogs.com/qipaxiaopao/p/17011541.html