python中的包
包:可以理解为文件夹,前提,文件中包含一个--init--.py文件
包的作用:
- 将模块归类,方便整理
- 为了防止模块名冲突
模块中包,名字会产生变化
新的名字:包名.模块名
init.py的使用
init.py中可以存放同普通模块一样的代码,变量,类,函数
但是一般会写一些辅助性的代码:
更方便的使用模块
在测试文件中,
import 包
在包的init.py模块中,
import 模块
这种方式等价于:在测试文件中使用 import 包.模块
——————————————————————————————————
在测试文件中
from 包 import *
在init.py中
from .模块 import *
这种方式等价于:在测试文件中 使用from 包.模块 import *
模块的发布
自定义模块,切换项目之后不好用
系统模块,切换项目之后好用
b.sys.path:导入模块时,搜索路径列表。如果所有路径中都没有要导入的模块,会导致无法导入目标模块。
import sys
list1=sys.path
for path in list1:
print(path)
解决方案:
- 将模块所在路径,手动加入sys.path中
1. # 找不到对应模块
# import Mymath
import sys
list1=sys.path
# for path in list1:
# print(path)
#手动添加路径(手动将Mymath的路径添加到sys.path中)
sys.path.append('D:studyPythontry_catchpackage1')
# sys.path.append('D:/study/Python/try_catch/package1')
for path in list1:
print(path)
import Mymath
print(Mymath.add(10,20))
- 将自定义模块,发布到系统目录
发布自定义模块的步骤:
- 确定发布的模块(目录结构)
- set up的编辑工作
set up () - 构建模块
python setup.py build - 发布模块
python setup.py sdist
模块的安装
- 通过命令进行安装(推荐)更安全
a. 找到之前发布的压缩包,解压操作
b.python set up.py install - 暴力安装
直接将要安装的包,以及模块,复制到对应的系统目录中
被引入模块的更新问题
模块重载:
- from imp import reload
- reload(目标模块)
- 重新调用
进制转化
bin():十进制转化二进制
oct():十进制转化成八进制
hex():十进制转化十六进制