Python中模块是什么?

1.模块的介绍

模块就好比是工具包,要想使用这个工具包中的工具(就好比函数),就需要导入这个模块。

2.制作模块

为了让我们自己写的模块被python解释器知道,需要用sys.path.append(“路径”),但这种情况下,比如在交互模式下,如果关闭了,再开启,还要重新告知。

常用方法:设置PYTHONPATH环境变量。

vim /etc/profile
export PATH = /home/jack/python:$PAT

3.__all__控制模块的导入行为

from test import *时,为了防止把不需要的模块导入,在模块里边新建一个变量__all__,放上将来要使用的函数,类,全局变量的名字,如果不放,别人就无法使用__all__ =["Tset","test"]

4. __init__.py控制包的导入行为

包将有联系的模块组织在一起,即放到同一个文件夹下,并且在这个文件夹创建一个名字为__init__.py文件,那么这个文件夹就称之为包。

这个__init__.py控制着包的导入行为,在这个文件中, 定义一个__all__变量,它控制着 from 包名 import *时导入的模块,如__all__ = ["sendmsg"]

5.模块发布

编辑setup.py

from distutils.core import setup
#Python小白学习交流群:725638078  
setup(name="dongGe", version="1.0", description="dongGe's module",author="dongGe",py_modules=['test.sendmsg', 'test.recvmsg'])

构建模块

python/python3 setup.py build

生成发布压缩包

python/python3  setup.py sdist

6.模块安装使用

  • 找到模块的压缩包。

  • 解圧。

  • 进入文件夹。

  • 执行命令python setup.py install。

  • 模块的引入。

from 模块名 import 模块名或者*

7.给程序传参数

import sys
name = sys.argv[1]

8.循环导入

  • 循环导入就是程序在导入某个模块的过程中,该模块里的函数又需要导入自身的这个模块,如此进入死循环。

  • 避免循环导入:所有在开发的过程中,开发者们写的模块不能相互调用,即应该相互隔开,然后由架构师来负责整体的模块调用使用,也就是上下设计分层,降低耦合。

9.重新导入模块

模块被导入后,如果某一方更新了这个模块,但是import module不能重新导入模块,重新导入需用from imp import *,然后再使用reload(test)即可重新导入。

你可能感兴趣的:(python基础,python,开发语言,模块)