模块
模块Module,是一个python文件,以.py结尾。
模块能定义函数、类和变量。
模块导入
模块在使用前需要先导入
[from 模块名] import [模块 | 类 | 变量 | 函数 | *] [as 别名]
import 模块
import time
print("start...")
time.sleep(5)
print("end...")
from 模块 import 功能名
from time import sleep
print("aa")
sleep(3)
print("bb")
from 模块 import *
from time import *
print("aa")
sleep(3)
print("bb")
from 模块 import 功能 as 别名
from time import sleep as aa
print("aa")
aa(3)
print("bb")
自定义模块
__main__变量的作用
如果引入的模块如下所示,有测试代码
当在别的模块引入该模块的时候,测试代码也会被执行。
为了解决这个问题,我们可以使用__main__变量。
def test(x, y):
print(x + y)
if __name__ == '__main__':
test(1, 3)
这样就不会再引入该模块的时候,执行模块中的测试代码。
__main__变量的作用就是当在当前模块文件中右键运行程序的时候,就满足条件执行程序代码。
__all__变量的作用
如果是from 模块 import * 导入格式
模块中有定义了__all__变量,只会导入定义在量__all__中的方法,而不是所有的。
__all__ = ['testA']
def test(x, y):
print(x + y)
def testA(x, y):
print(x - y)
if __name__ == '__main__':
test(1, 3)
from my_module import *
testA(4, 5)
包
一个python文件就是一个模块,写代码时候,可以导入不同的模块,将自己的模块的功能丰富起来。但是,有成千上百个模块需要导入的话,那么模块也太多了。所以需要包的功能来管理。
python的包就是一个文件夹,文件夹下包含了__init__.py文件,该文件夹可以包含多个模块文件。
自定义包
新建包后,会自动在包内部自动创建__init__.py文件,这个文件控制者包的导入行为。
__init__.py文件必须有,此文件夹才是一个包,否则就是一个普通的文件夹。
__init__.py文件里可以没有内容。
导入包中的文件
import 包名.模块名
调用方法 包名.模块名.方法
import mypackage.my_module1
mypackage.my_module1.test(1, 3)
from 包名 import 模块名
调用方法 模块名.方法
from mypackage import my_module1
my_module1.test(1, 3)
安装第三方包
pip install 包名称
通过网络快速安装第三方包
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple numpy
指定国内网址,来下载第三方包。
测验第三方包是否安装成功。
pycharm中也可以查看第三方包的安装