py结尾的文件,就是一个模块
导入模块
import 模块1
import 模块2
import 模块3
模块.xx 可以调用模块中的工具包
给模块起别名
import 模块1 as 模块别名
from 模块1 import 工具1
这种方式,可以直接使用工具名,调用工具
模块中 重名函数两个模块 存在 同名函数,后面导入的会覆盖 前面 先导入的模块
可以通过 起 别名 避免 函数重名覆盖情况
全部导入from 模块1 import *
区分 import 模块1
首先 当前目录下 找 指定模块名的文件
没有,就 搜索 系统目录
开发时,不要给文件起 和 系统模块文件重名 的名字
会造成覆盖
import random print(random.__file__)
/Library/frameworks/Python.framework/Versions/3.8/lib/python3.8/random.py
模块可以看做工具包
向外界提供 全局变量,函数,类
当一个文件导入时,文件中没有任何缩进的代码都会被执行一遍。
用于保存 模块的字符串
def say_hello():
print("你好你好")
if __name__ == '__main__':
# 直接执行文件,输出为__main__
print(__name__)
print("开发模块1")
say_hello()
包
一个包 是含有 多个模块 的特殊目录
目录下 有一个特殊的文件 init.py
建议一个新的包
制作发布模块的步骤:
1.创建 setup.py 文件
2.构建模块
python3 setup.py build
from distutils.core import setup
setup(name='message', # 包名
version='1.0', # 版本
description='发送和接受消息模块', # 描述信息
long_description='详细的发送和接受消息模块', # 完整描述信息
author='xxx', # 作者名
author_email='xxx@163.com', # 作者邮箱
ulr='xxx.com', # 主页
py_modules=['message.send',
'message.receive']
)
setup.py文件不能通过pycharm执行,在终端通过python解释器执行
build 是准备文件
sdist 是将准备好的文件 压缩成压缩包
tar 将压缩包解压
sudo install 将py文件(开发好的模块)安装到python的环境包内
–file–可以查看包的完整路径
pygame是 经常使用的 游戏开发模块



