python模块介绍:Python其实很简单第十四章
python模块介绍:Python其实很简单第十四章import datetime # 导入日期模块例如:Python中含有许多有用的内置模块,被称作“标准库”。Python中大约有200多个内置模块,下面介绍一些常用的内置模块。▆ 日期(datetime)引用该模块可以得到今天的日期或计算到某个特定日期还有多少天。
模块是一组程序代码,可以是别人已经写好的,也可以是自己编写的,但都是已经存在的,在编程时直接使用就可以了。
模块机制的最大好处就是程序员不再编写重复的代码,而直接利用已有的成果,这样就能将更多的精力投入到解决实际问题当中。
模块中可以包括若干个函数,通常作为一个文件存储,使用时导入即可。我们在前面已经多次使用过如import random,import re这样的语句,就是为了导入模块,使用这些模块中已经定义好的的方法和函数。
14.1 内置模块
Python中含有许多有用的内置模块,被称作“标准库”。Python中大约有200多个内置模块,下面介绍一些常用的内置模块。
▆ 日期(datetime)
引用该模块可以得到今天的日期或计算到某个特定日期还有多少天。
例如:
import datetime # 导入日期模块
time1=datetime.date.today() # 获取当前日期值
print('今天是:' time1)
a=str(time1.year) # 获取当前年的值
b=str(time1.month) # 获取当前月的值
c=str(time1.day) # 获取当前日的值
print('今天是:' a '年' b '月' c '日')
time2=datetime.date(2022 2 1) # 生成一个日期值
if time1.__lt__(time2): # 判断time1<time2是否成立
x=time2.__sub__(time1).days # 计算time2与time1的相差多少天
print('现在距离2022年春节还有' str(x) '天')
elif time1.__eq__(time2):
print('今天是2022年春节')
else:
x=time1.__sub__(time2).days # 计算time1与time2的相差多少天
print('2022年春节已经过去' str(x) '天')
运行结果:
今天是: 2021-12-18
今天是:2021年12月18日
现在距离2022年春节还有45天
▆ 随机(random)
引用该模块后可以调用该模块中与产生随机内容相关的函数。
例:
import random
print('浮点数:' random.random()) # 0到1之间的浮点数
print('整数:' random.randint(1 5)) # [1 5]区间的整数
print('序列中的元素' random.randrange(1 5)) # [1 5)区间的整数
print('列表中的元素' random.choice([1 '2' '3' [4 5]]))
# 列表[1 '2' '3' [4 5]]中任意一个元素
print('元组中的元素' random.choice((1 '2' '3' [4 5])))
# 元组(1 '2' '3' [4 5])中的任意一个元素
print('列表中的元素' random.sample([1 '2' '3' [4 5]] 2))
从列表[1 '2' '3' [4 5]]中选取任意两个元素
下面举一个生成包含五个字符的验证码的例子:
code=''
for i in range(5):
num=random.randint(0 9) # 取[0 9]中的任意一个数字
char=chr(random.randint(65 122))
# 取ASCII码在65到122之间的任意一个字符
str1=str(random.choice((num char))) # 从数字和字符中任选一个并转换为字符
code =str1 # 将字符加入到验证码中
pin=input('请输入验证码:' code)
if code==pin: #比较输入的字符串与上面生成的验证码是否一致
print('验证通过!')
else:
print('验证码不正确')
▆ sys模块
sys模块是和python解释器进行交互的接口。
import sys
print(sys.version) # 返回解释器的版本
print(sys.path) # 返回模块的搜索路径
其它方法可以参见Python相关说明文档。
▆ os模块
os模块是和操作系统相关的一个模块.是和操作系统进行交互的接口。
该模块可以进行各种文件操作。
▆ 套接字(socket)
套接字模块让程序可以通过局域网或者因特网进行通信,它可以支持在线程序。
▆ 万维网浏览器(webbrower)
控制万维网浏览器,用于访问网页。
14.2 创建模块并导入
在Python中可以自己创建一个模块,既可以复用以提高效率,也可以规范代码以提高程序易读性。
创建模块的过程和编写程序的过程是完全一样的,模块中的代码被保存在一个单独的文件中,它的扩展名也是.py。
将如下代码单独保存到carea.py中,其中cara为模块名,.py为扩展名。这个模块用于计算并输出圆的面积。
def area(r):
pi=3.14
s=pi*r*r
print('The area of the circle is:' s)
接下来,在程序中calc.py可以用import语句导入。应该保证程序与要导入的模块在同一路径下,或要导入的模块在路径变量所指范围内。另外,将自定义模块保存到Python的默认安装目录下也能被程序导入。
calc.py源代码如下:
import carea as ca # 导入模块carea并设置别名为ca
r=float(input('请输入圆的半径:'))
ca.area(r) # 执行模块中的area()函数
14.3 第三方模块的下载与安装
在Python语言的库分为标准库和第三方库。python的标准库是随着pyhon安装的时候默认自带的库,python的第三方库需要下载后安装到python的安装目录下。标准库和第三方库的调用方式是一样的,都需要用import语句调用。
Python第三方库的安装常用的方法是使用pip命令行直接安装。
打开cmd命令窗口,通过命令 pip install 包名 进行第三库安装,此方法简单快捷,以安装keras库(该库用于深度学习方面的应用)为例。
注意:安装成功会显示Successfully installed keras-2.7.0,如果出现黄色字体警告,如:WARNING: You are using pip version 21.2.4; however version 21.3.1 is available.You should consider upgrading via the 'c:\users\zym\appdata\local\programs\python\python39\python.exe -m pip install --upgrade pip' command.
这是由于pip库包不是最新的,但keras库已成功安装,可随后对pip包进行更新,更新命令:python -m pip install --upgrade pip。