一、模块简介
模块就是一个Python代码文件(例如:time.py),内含类、函数、变量等,我们可以导入进行使用。
导入语法:
[from 模块名] import [模块 I类 I变量 |函数 I*] [as 别名]
注意:[]里面的是可以省略的。通过"."来确定层级关系。
常用的组合方式:
1、 import 模块名 --推荐
2、 from 模块名 import 类、变量、方法等
3、 from 模块名 import *
4、 import 模块名 as 别名 --推荐
5、 from 模块名 import 功能名 as 别名
作用:
python中有很多各种不同的模块,每一个模块都可以帮助我
们快速地实现一些功能,比如:实现和时间相关的功能就可以使用time模块。我们可以认为一个模块就是一个工具包,每一个工具包中都有各种不同的工具供我们使用进而实现各种不同的功能。
常见使用案例:
使用案例:
###导入模块
import time,random as r
#调用time中的类、函数、变量等
time.sleep(2) #睡眠2秒
num=r.randint(1,10); #1到10内随机生成个整数
print(f"随机生成的数:{num}")
使用案例:
#1、from 模块名 import 类、变量、方法等
from time import sleep #使用from方式导入指定的函数
sleep(2) #睡眠2秒
#2、from 模块名 import 功能名 as 别名
from time import sleep as s #使用from方式导入指定的函数并作为别名s
s(2) #睡眠2秒
##3、from 模块名 import *
from random import *
num=randint(1,100);
print(f"随机生成的数:{num}")
二、自定义模块
在Python代码文件中正常写代码即可,通过import、from关键字和导入Python内置模块一样导入即可使用。
注意:if __name__=="__main__":表示,只有当程序是直接执行的才会进入,如果是被导入的,则无法进入执行。常用于测试。
不同模块,同名的功能,如果都被导入,那么后导入的会覆盖先导
入。
__all__=["reduce"]:配合"from 模块名 import *"和"import 模块名"导入使用,只能导入这个列表中的元素。也即:指定导入所有功能的汇总。
参考案例:
##配合from 模块名 import *导入使用,只能导入这个列表中的元素
__all__=["reduce"]
#定义一个函数
def sum(x,y):
res=x+y
print(f"求和后的结果:{res}")
#定义一个函数
def reduce(x,y):
res=x-y
print(f"求差后的结果:{res}")
#测试使用 加上__main__只能在测试使用,调用不会执行
if __name__=="__main__":
sum(2,3)
reduce(3,2)
引入自定义模块:
# from test01 import * #不能正常使用
# import test01 #不能正常使用 __all__=["reduce"]
from test01 import reduce,sum #可以正常使用
sum(2,3)
reduce(3,2)
三、包
包就是一个文件夹,里面可以存放许多Python的模块(代码文件),通过包,在逻辑上将一批模块归为一类,方便使用。在该文件夹下包含了一个_init_.py文件(通过这个_init_.py文件来表示一个文件夹是Python的包,而非普通的文件夹),该文件夹可用于包含多个模块文件。从逻辑上看,包的本质依然是模块。
创建方式:
导入包:
方法一:和导入模块类似
import 包.模块 as 别名 或
from 包 import 模块 as 别名
参考案例:
## import 包.模块 as 别名
# import my_tools_pack.tools_01 as tools01
# import my_tools_pack.tools_02 as tools02
## from 包 import 模块 as 别名
from my_tools_pack import tools_01 as tools01
from my_tools_pack import tools_02 as tools02
tools01.fun_01()
tools02.fun_01()
方法二:通过配置_init_.py文件
定义_init_.py文件:
##通过配置 定义*可以导入该包下模块 注意:all名称不能改变
__all__=['tools_01']
参考案例:
##方法二:通过配置_init_.py文件
from my_tools_pack import *
tools_01.fun_01()
tools_02.fun_01()
错误信息:
四、安装第三方包
包可以包含一堆的Python模块,而每个模块又内含许多的功能。
所以,我们可以认为:一个包,就是一堆同类型功能的集合体。
方法1:pip命令的方式
#通过网络快速安装外网下的第三方包
pip install 包名称
#指定网络
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple 包名称==版本号
https://pypi.tuna.tsinghua.edu.cn/simple是请华大学提供的一个网站,可供pip程序下载第三方包。
清华:https://pypi.tuna.tsinghua.edu.cn/simple
阿里:http://mirrors.aliyun.com/pypi/simple/
豆瓣:http://pypi.douban.com/simple/
华中理工大学:http://pypi.hustunique.com/
山东理工大学:http://pypi.sdutlinux.org/
中国科学技术大学:http://pypi.mirrors.ustc.edu.cn/rticle/details/106061185
# numpy==1.20.3指定库的版本号
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple numpy==1.20.3
其他常用的命令:
# 升级Python第三方库
pip install --upgrade 库名 #其中“库名”是要升级的库的名称
## 指定库的版本号 pip install numpy==1.20.3
pip install 库名==版本号
## 卸载Python第三方库
pip uninstall 库名
## 查看已安装的Python第三方库
pip list
方法2:使用PyCharm方式
更多优秀文章,请扫码关注个人微信公众号或搜索“程序猿小杨”添加。