内容正文:
第7章 常用库的使用
1
学习目标/Target
掌握random库的使用,能够使用random库生成随机数
掌握turtle库的使用,能够使用turtle库绘制不同图形
掌握time库的使用,能够使用time库处理时间
掌握jieba库的使用,能够使用jieba库对中文文本实现分词
掌握WordCloud库的使用,能够使用WordCloud库制作词云图
2
章节概述/ Summary
在Python中,库(Library)是一种涵盖了特定功能集合的说法,而非严格定义。Python库提供了大量的函数或方法,可以帮助开发人员更有效地解决各种任务和问题,从而更轻松地开发程序。Python中的库通常分为两种类型,分别是标准库(Standard Library)和第三方库(Third-Party Library),其中标准库会随Python解释器一同被安装,导入程序后直接使用,包括random、turtle、time等;第三方库是由Python使用者编写和分享的,使用前需要额外安装,比如jieba、wordcloud等。本章将介绍一些常用库的基本用法。
3
目录/Contents
01
随机数工具:random库
实例:验证码
绘图工具:turtle库
02
03
实例:绘制几何图形
04
时期时间工具:time库
05
4
目录/Contents
06
实例:二十四节气倒计时
中文分词工具:jieba库
实例:出场人物统计
07
08
词云工具:WordCloud库
09
实例:生成词云图
10
5
实例:绘制几何图形
7.4
6
7.4 实例:绘制几何图形
本实例要求编写程序,借助turtle库绘制一些几何图形,效果如图所示。
7.4 实例:绘制几何图形
这里以正三角形为例,分析每个图形的具体绘制过程,具体内容如下。
(1)移动画笔的位置。
(2)绘制图形。
时期时间工具:time库
7.5
9
7.5 时期时间工具:time库
1. time()函数
time()函数用于返回一个浮点数表示的时间戳,其中时间戳是指从世界标准时间的1970年1月1日00:00:00到当前时间的总秒数。例如,使用time()函数获取当前时间的时间戳,示例如下:
import time
print(time.time())
需要注意的是,time()函数返回的时间戳与系统时间相关,每次运行以上代码后得到的时间戳可能会有所出入,因此以上结果仅作参考。同样地,后续提到的与时间相关的函数,也需要格外关注其与系统时间的关联性,以获得更加准确的结果。
7.5 时期时间工具:time库
2.localtime()和gmtime()函数
localtime()和gmtime(),用于获取结构化时间,从而帮助我们更直观地了解时间的各个部分。localtime()和gmtime()函数的语法格式如下:
localtime([secs])
gmtime([secs])
localtime()和gmtime()函数都能将时间戳转换为以元组表示的时间对象(struct_time),不过localtime()得到的是本地时间,而gmtime()得到的是世界统一时间(Universal Time Coordinated,缩写为UTC)。
7.5 时期时间工具:time库
使用localtime()函数获取结构化时间,示例如下:
import time
print(time.localtime()) # 获取结构化时间,默认使用当前时间的时间戳
print(time.localtime(36.36)) # 获取结构化时间,使用指定的时间戳
使用gmtime()函数获取结构化时间,示例如下:
import time
print(time.gmtime())
print(time.gmtime(34.54))
2.localtime()和gmtime()函数
7.5 时期时间工具:time库
元素 含义 取值
tm_year 年 4位数字
tm_mon 月 1~12
tm_mday 日 1~31
tm_hour 时 0~23
tm_min 分 0~59
tm_sec 秒 0~61,60或61是闰秒
tm_wday 一周的第几日 0~6,0为周一,其他数字依此类推
tm_yday 一年的第几日 1~366
tm_isdst 夏令时 1表示夏令时,0表示非夏令时,-1表示不确定
时间对象元组中元素的含义与取值
2.localtime()和gmtime()函数
7.5 时期时间工具:time库
3.strftime()和asctime()函数
(1)strftime()函数
用于将时间对象按照指定格式转换为可读性强的时间字符串,该函数的语法格式如下:
strftime(format, p_tuple=None)
参数format表示时间格式的字符串,字符串中包含一些时间格式控制符;
参数p_tuple为时间对象,默认值为当前时间,即localtime()函数返回的时间对象。
7.5 时期时间工具:time库
(1)strftime()函数
时间格式控制符是time库预定义的,用于控制不同时间或时间成分,time库中常用的时间格式控制符及其功能说明如表所示。
时间格式控制符 功能说明
%Y 四位数的年份,取值范围为0001~9999
%m 月份,取值范围为01~12
%d 月中的一天
%B 本地完整的月份名称,比如January
%b 本地简化的月份名称,比如Jan
%a 本地简化的周日期
%A 本地完整周日期
%H 24小时制小时数,取值范围为0~23
%l 12小时制小时数,取值范围为01~12
%p 上午或下午,取值分别为AM或PM
%M 分钟数,取值范围为00~59
%S 秒,取值范围为00~59
3.strftime()和asctime()函数
7.5 时期时间工具:time库
(1)strftime()函数
例如,使用strftime()格式化时间字符串,将当前时间对应的时间对象按照“年-月-日 时:分:秒”格式输出,示例如下:
import time
now_string = time.strftime("%Y-%m-%d %H:%M:%S")
print(now_string)
3.strftime()和asctime()函数
7.5 时期时间工具:time库
(1)strftime()函数
若只使用部分时间格式控制符,可仅对时间信息中的相关部分进行格式化与输出。例如只设定控制时分秒的3个格式符,则只输出24小时制的时分秒,示例代码如下:
import time
now_string = time.strftime('%H:%M:%S') # 格式化部分时间信息
print(now_string)
3.strftime()和asctime()函数
7.5 时期时间工具:time库
(2)asctime()函数
asctime()函数同样用于将时间对象转换为可读性强的时间字符串,但它只能转换为“Sat Jan 13 21:56:34 2018”这种形式。asctime()函数的语法格式如下:
asctime(p_tuple=None)
3.strftime()和asctime()函数
7.5 时期时间工具:time库
(2)asctime()函数
使用asctime()函数返回格式化的时间字符串,示例如下:
import time
now_string = time.asctime() # 将本地时间对应的时间对象转换为时间字符串
print(now_string)
gmtime = time.gmtime() # 将世界统一时间对应的时间对象转换为时间字符串
print(time.asctime(gmtime))
3.strftime()和asctime()函数
7.5 时期时间工具:time库
4. ctime()函数
ctime()函数用于将一个时间戳转换为“Sat Jan 13 21:56:34 2018”这种形式的时间字符串,结果等同于time.asctime()函数,若ctime()函数没有传入任何参数,则默认使用time()函数的结果作为参数。示例如下:
import time
print(time.ctime()) # 将当前时间的时间戳转换为时间字符串
print(time.ctime(36.36)) # 将指定的时间戳转换为时间字符串
7.5 时期时间工具:time库
5. strptime()函数
strptime()函数用于将格式化的时间字符串转化为时间对象,该函数是strftime()函数的反向操作。strptime()函数的语法格式如下:
strptime(string, format)
使用strptime()函数将格式化的时间字符串转化为时间对象,示例如下:
import time
print(time.strptime('Sat,11 Apr 2023 11:54:42', '%a,%d %b %Y %H:%M:%S'))
print(time.strptime('11:54:42', '%H:%M:%S'))
7.5 时期时间工具:time库
6. sleep()函数
sleep()函数用于让程序进入睡眠状态,使程序暂时挂起,等待一定时间后再继续执行。sleep()函数接收一个以秒为单位的浮点数作为参数,使用该参数控制程序挂起的时长。
例如,使用sleep()函数让程序睡眠3秒,代码如下:
import time
print('开始')
time.sleep(3)
print('结束')
$$