重点讲解turtle库、random库、time库,其中turtle库和random库是计算机二级所要求的考核要点。
- turtle库
turtle是Python重要的标准库之一,它能够进行基本的图形绘制。Turtle库绘制图形有一个基本框架:易额小海龟在坐标系中爬行,其爬行轨迹形成了绘制图形。对于小海龟来说,有前进、后退、旋转等怕性行为,对坐标系的探索也通过前进方向、后退方向左侧方向等小海龟自身角度方位来完成。刚开始绘制时,小海龟位于画布正中央,此处坐标为(0,0),前进方向为水平右方。Turtle库绘制图形体系如下图:
三种使用import保留字对turtle库引用的方法。
第一种:Import turtle,使用turtle.<函数名>()形式调用库中函数。
>>> import turtle
>>> turtle.circle(100)
第二种:form turtle import * ,则对turtle库中的函数调用直接采用<函数名>()形式,不在使用turtle.为前导。
>>> from turtle import *#导入整个turtle库
>>> #from turtle import circle语句则只导入函数circle
>>> circle(100)
第三种:import turtle as t,则对turtle库中函数调用采用简洁的t.<>()形式,保留字as的作用是将turtle库给予别名t。此处也可以使用t之外的其他别名。
>>> Import turtle as t
>>> t.circle(100)
turtle库包含有100多个功能函数,主要包括窗体函数、画笔状态函数、画笔运动函数三类。
turtle库的turtle.setup()函数与窗体有关,定义如下:
turtle.setup(width,height,startx,starty)
其中四个参数的意义如下图所示:
turtle中常用的画笔状态函数如下:
函数 | 描述 |
pendown() | 放下画笔 |
penup() | 提起画笔,与pendown配对使用 |
pensize(width) | 设置画笔线条的粗细为指定大小 |
pencolor() | 设置画笔的颜色 |
color() | 设置画笔和填充的颜色 |
begin_fill() | 填充图形前,调用该方法 |
end_fill() | 填充图形结束 |
filling() | 返回填充的状态,True为填充,False为未填充 |
clear() | 清空当前窗口,但不改变画笔当前的位置 |
reset() | 清空当前窗口,并重置位置等状态为默认值 |
screensize() | 设置画布窗口的宽度、高度和背景颜色 |
hideturtle() | 隐藏画笔的turtle形状 |
showturtle() | 显示画笔的turtle形状 |
isvisible() | 如果turtle可见,则返回True |
write(str,font=None) | 输出font字体的字符串str |
turtle库中常用的画笔运动函数
函数 | 描述 |
forward(distance) | 沿着当前方向前进指定距离 |
backward(distance) | 沿着当前相反方向后退指定距离 |
right(angle) | 向右旋转angle角度 |
left(angle) | 向左旋转angle角度 |
goto(x,y) | 移动到绝对坐标(x,y) |
setx(x) | 修改画笔的横坐标到x,纵坐标不变 |
sety(y) | 修改画笔的纵坐标到y,横坐标不变 |
setheading(angle) | 设置当前朝向为angle角度 |
home() | 设置当前画笔位置为原点,朝向东 |
circle(radius,e) | 绘制一个指定半径r,角度e的圆或弧形 |
dot(size,color) | 绘制一个指定直径size和颜色color的圆点 |
undo() | 撤销画笔最后一步动作 |
speed() | 设置画笔的绘制速度,参数为0~10之间2 |
2.random库
随机数在计算机应用中十分常见,Python语言提供了random库用于产生各种分布的伪随机数序列。random库采用梅森旋转算法生成伪随机数序列,可用于除随机数性要求更高的加解密算法外的大多数工程应用。
使用random库的主要目的是生成随机数,因此,读者只需要查阅该库的随机生成函数,找到符合使用场景的函数即可。这个库提供了不同类型的随机数函数,其中最基本的函数是random.random(),它生成一个[0.0,1.0)之间的随机小数,所有其他随机函数都是基于这个函数扩展而来的。
下表为random库常用函数:
函数 | 描述 |
seed(a = None) | 初始化随机数种子,默认值为当前系统时间 |
random() | 生成一个[0.0,1.0)之间的随机小数 |
randint(a,b) | 生成一个[a,b]之间的整数 |
getrandbits(k) | 生成一个k比特长度的随机整数 |
randrange(start,stop[,step]) | 生成一个{start,stop}之间以step为步数的随机整数 |
uniform(a,b) | 生成一个[a.b]之间的随机小数 |
choice(seq) | 从序列类型(例如列表)中随即返回一个元素 |
shuffle(seq) | 将序列类型中元素随机排列,返回打乱后的序列 |
sample(pop,k) | 从pop类型中随即选取k各元素,以列表类型返回 |
3.time库
处理时间是程序最常用发功能之一,time库是Python提供的处理时间标准库。time库提供系统级精确计时器的计时功能,可以用来分析程序性能,也可以让程序暂停运行时间。
time库的功能分为3个方面:事件处理、时间格式化和计时。
函数 | 描述 |
time.time() | 获取当前时间戳 |
time.gmtime() | 获取当前时间戳对应的struct_time对象 |
time.localtime() | 获取当前时间戳对应的本地时间的struct_time对象 |
time.ctime() | 获取当前时间戳对应的易读字符串表示,内部会调用time.localtime()函数以输出当地时间 |
time.mktime(t) | 将struct_time对象转换为时间戳,注意t代表当地时间 |
time.strftime() | 利用一个格式字符串,对时间进行表示 |
time.strptime() | 用于提取字符串中的时间来生成struct_time对象,与函数time.strftime()相反 |
time.sleep() | 推迟调用线程的运行,可通过参数secs指秒数,表示进程挂起的时间 |
time.monotonic() | 用于获取单调时钟的值 |
time.perf_counter() | 返回当前的计算机系统时间 |