python中的包

包:可以理解为文件夹,前提,文件中包含一个--init--.py文件
包的作用:

  1. 将模块归类,方便整理
  2. 为了防止模块名冲突

模块中包,名字会产生变化
新的名字:包名.模块名

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)



解决方案:

  1. 将模块所在路径,手动加入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))
  1. 将自定义模块,发布到系统目录
    发布自定义模块的步骤:
  1. 确定发布的模块(目录结构)
  2. set up的编辑工作
    set up ()
  3. 构建模块
    python setup.py build
  4. 发布模块
    python setup.py sdist

模块的安装

  1. 通过命令进行安装(推荐)更安全
    a. 找到之前发布的压缩包,解压操作
    b.python set up.py install
  2. 暴力安装
    直接将要安装的包,以及模块,复制到对应的系统目录中

被引入模块的更新问题

模块重载:

  1. from imp import reload
  2. reload(目标模块)
  3. 重新调用

进制转化

bin():十进制转化二进制

oct():十进制转化成八进制

hex():十进制转化十六进制