一、包(Package)的概念、2种建立包的方式
1》包概念:
包是一个包含多个模块的特殊目录,目录下有一个特殊的文件__init__.py
1.1包名的命名方式:
命名方式和变量名一样,小写字母 _(小写字母加个下划线,不要以数字开头)
1.2使用包好处:
使用import 包名 可以一次性导入包中所有的模块
2》2种建立包的方式
2.1 使用目录手动建立包
步骤:点击我自己的文件名PythonProject鼠标右键——》点击New ——》点击Directory(目录) ——》 输入目录名pg_message 回车——》建立好了名叫pg_message的目录——选中这个目录点击右键选择New,在弹出的菜单中选中Python file ——》 在选框中写上__init__文件名 回车——》这样包就建立好了。
2.2 自动建立包(方便快捷)
步骤:点击我自己的文件名PythonProject鼠标右键——》点击New ——》 点击Python Package——》在选框中写上包的名字pg_message回车——》自动建立__init__.py文件。
(如果右侧上方没有显示__init__.py,在左侧目录中双击建立好的__init__.py文件就会出现了。)
总结: 在python中,一个包含多个模块的文件,然后再加上一个__init__特殊文件,就组成了一个包,在给包起名时一定要使用小写字母加下划线的方式,不能以数字开头
二、包的使用(封装模块、设置__init__、外界导入包)
2.1》__init__.py
要在外界使用包中的模块,需要在__init__.py中指定对外界提供的模块列表
代码语言:javascript复制# 从 当前目录 导入 模块列表
from . import 模块名1
from . import 模块名2
2.2》案例演练:
- 新建一个pg_message的包
- 在目录下,新建两个文件send__message 和 receive_message
- 在send__message 文件中定义一个send函数
- 在receive_message文件中定义一个receive函数
- 在外部直接导入pg_message的包
4个文件和代码如下图:
执行结果:
4个文件代码:
send_message
代码语言:javascript复制def send(text):
print("已发送 %s..." % text)
receive_message
代码语言:javascript复制def recevie():
return "这是来自 152***25 的短信"
_init__
代码语言:javascript复制from . import send_message
from . import receive_message
demo
代码语言:javascript复制# 导入包
import pg_message
pg_message.send_message.send("你好")
text = pg_message.receive_message.recevie()
print(text)
分享网站:《Python自学网》基础入门到逐步深入 | 适合新手入门到精通 | python全栈体系课程