目录
5. 解释if __name__ =='__main__':
一、模块
1. 模块是什么
它是别人已经写好的python程序,我们可以直接拿来使用。
2. 查看自己导入模块的文件路径
模块名.__file__
3. python模块的种类
- 官方自带的,称为内置库
- 第三方开发的,称为第三方库
可以在pypi.org网站中查找所有的第三方库 - 自己封装的
4. 导入一个模块
import 模块名
improt 模块名 as 别名 如果模块名过长可以使用as重命名
from 模块名 import 具体的名字
from 模块名 import 名字1,名字2 导入该模块中的两个方法
from 模块名 import *
* 是所有的意思,导入该模块下的所有东西,此方式慎用,因为不同模块间可能会有相同的方法名,调用的时候导入的模块会覆盖前面的模块。
5. 解释if __name__ =='__main__':
其中__name__:
当程序在当前文件执行时,值等于__main__,在别的文件被调用时,值等于该文件名。
所以if __name__ =='__main__':作用是:指定在当前文件运行的代码,外界调用的时候,不执行。
二、包
1. 什么是包
当文件过多的时候,希望对同类型的模块进行归纳整理的时候,可以使用包(就是多个模块的整合)。
2. 如何创建一个包
在文件夹下面添加一个__init__.py文件
该文件作用:当调用这个包的时候,首先会加载__init__文件
三、包的案例
创建一个msg文件夹,在里面先创建一个__init__.py文件,然后创建自己的py文件
__init__.py:
# __init__.py
# 规定了在使用from 库名 import * 导入的库
__all__=['receive', 'send']
receive.py:
# receive.py
def test_receive():
print("test_receive执行中!")
def test_receive1():
print("test.receive1执行中!")
send:
# send.py
def test_send():
print("test_send执行中!")
在msg文件外创建一个py文件用来导入msg包
# main.py
from msg import *
receive.test_receive()
receive.test_receive1()
send.test_send()