计算机二级python-第九章-python标准库概览

时间:2021/09/04


1.turtle库概述

  • turtle(海龟),能够进行基本的图形绘制。
  • turtle库绘制图形有一个基本框架:一只小海龟在坐标系中爬行,其爬行轨迹形成了绘制图形。
  • 对于小海龟来说,小海龟通过自身角度方位的转变来完成对坐标系的探索。

在这里插入图片描述

  • 使用import关键字引入turtle库有如下3种方式:
    1.import turtle,对turtle库中函数调用采用 turtle.函数名()形式
import turtle
turtle.circle(200)

2.from turtle import * ,对turtle库中函数调用直接采用 函数名()形式,不再使用turtle作为前导

from turtle import *
circle(200)

3.import turtle as t ,则对turtle库中函数调用采用更简洁的 t.函数名()形式,关键字as的作用是将turtle库给予别名t。此处也可以使用t之外的其他命名。

import turtle as t
t.circle(200)

2.turtle库与基本绘图

turtle库包含100多个功能函数,主要包括窗体函数、画笔状态和画笔运动函数3类。

2.1 窗体函数

  • turtle库的turtle.setup()函数与窗体有关
  • 函数定义如下:
turtle.setup(width,height,startx,starty)
  • 参数解析:
    • width:窗口宽度。如果值是整数,表示的是像素值;如果值是小数,表示窗口宽度与屏幕的比例。
    • height:窗口高度。如果值是整数,表示的是像素值;如果值是小数,表示窗口高度与屏幕的比例。
    • startx:窗口左侧与屏幕左侧的像素距离。如果值是None,窗口位于屏幕水平中央。
    • starty:窗口顶部与屏幕顶部的像素距离。如果值是None,窗口位于屏幕垂直中央。
import turtle
turtle.setup(100,100,100,100)

在这里插入图片描述

2.2 画笔状态函数

函数描述
pendown()放下画笔
penup()提起画笔
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字体的字符串

turtle中的画笔(即小海龟)可以通过一组函数来控制,其中turtle.penup()和turtle.pendown()是一组,分别表示画笔的提起和放下

turtle.penup()别名turtle.pu()或turtle.up()
作用:提起画笔,之后,移动画笔不会绘制形状
参数:无

turtle.pendown()别名turtle.pd()或turtle.down()
作用:放下画笔,之后,移动画笔将会绘制形状
参数:无

turtle.pensize()函数用来设置画笔尺寸。
turtle.pensize(width)别名turtle.width()
作用:设置画笔宽度,当无参数输入时则返回当前画笔的宽度
参数:width:设置的画笔线条宽度,如果为None或者为空,函数则返回当前画笔宽度

turtle.pencolor()函数给画笔设置颜色。
turtle.pencolor(colorstring)或turtle.pencolor((r,g,b))
作用:设置画笔颜色,当无参数输入时返回当前画笔颜色
参数:
colorstring:表示颜色的字符串,如“purple”,“red”等。
(r,g,b):颜色对应的RGB的0-1数值,例如:(0,0,0)是黑色,(255,255,255)是白色

turtle.color()函数能够同时设置画笔和背景填充的颜色。
turtle.color(colorstring1,colorstring2)或者turtle.color((r1,g1,b1),(r2,g2,b2))
作用:设置画笔和背景颜色,当无参数输入时返回当前画笔和背景颜色
参数:
colorstring1:表示颜色的字符串。
(r,g,b):颜色对应的RGB的0-1数值,例如:(0,0,0)是黑色,(255,255,255)是白色

turtle.begin_fill()和turtle.end_fill()函数用来设置填充色彩,这两个函数成对使用。
turtle.begin_fill()
作用:设置填充区域颜色。在开始绘制填充背景图形前调用。
参数:无

turtle.end_fill()
作用:turtle.begin_fill()的配对函数。在结束绘制拟填充背景图形后调用。
参数:无

import turtle as t
t.color('red','blue')
t.begin_fill()
# 画一个半径为50的圆
t.circle(50)
# 画图结束后用蓝色填充圆形内部
t.end_fill()

在这里插入图片描述

turtle.filling()
作用:返回当前图形背景颜色的填充状态,如果当前代码在begin_fill()和end_fill()之间,则返回True,否则返回False。
参数:无

turtle.clear()函数清空当前窗口
turtle.clear()
作用:清空当前海龟对象绘制的图形,但不改变其位置和角度
参数:无

turtle.reset()
作用:清空当前绘图窗口,海龟对象绘图位置和角度回归原点
参数:无

turtle.screensize()函数设置画布窗口的宽度、高度和背景颜色。
turtle.screensize(width,height,bgcolor)
作用:设置当前画布窗口的宽度为width,高度为height,背景颜色为bgcolor,如果不给出参数,则以元组形式返回当前画布窗口的宽度和高度(width,height)
参数:
width:窗体的宽度,以像素为单位
height:窗体的高度,以像素为单位
bgcolor:表示颜色的字符串或颜色对应的RGB的0-1数值

turtle.hideturtle()
作用:隐藏画笔的turtle形状
参数:无

turtle.showturtle()
作用:显示画笔的turtle
参数:无

turtle.isvisible()
作用:如果turtle画笔的形状显示,则返回True,否则返回False
参数:无

turtle.write(str,font=None)
作用:根据设置的字体font形式,将字符串str显示在画布上
参数:
str:拟输出的字符串
font:字体名称、字体的尺寸和字体类型3个元素构成的元组

import turtle
turtle.write('helloworld',font=('Arial',50,'normal'))

在这里插入图片描述


2.3 画笔的运动函数

turtle通过一组函数控制画笔的行进动作,进而绘制形状

函数描述
forward(distance)沿着当前方向前进指定距离
backward(distance)沿着当前相反方向后退指定距离
right(angle)向右旋转angle角度
left(angle)向坐旋转angle角度
goto(x,y)移动到绝对坐标(x,y)处
setx(x)修改画笔的横坐标x,纵坐标不变
sety(x)修改画笔的纵坐标y,横坐标不变
setheading(angle)设置当前朝向为angle角度
home()设置当前画笔位置为原点,朝向东
circle(radius,e)绘制一个指定半径r和角度e圆或弧形
dot(r,color)绘制一个指定半径r和颜色color的圆
undo()撤销画笔最后一步动作
speed()设置画笔的绘制速度,参数为0-10之间

turtle.fd()函数最常用,他控制画笔向当前行进方向前进一个距离
turtle.forward(distance)别名turtle.fd(distance)
作用:小海龟向当前行进方向前进distance距离
参数:distance:行进距离的像素值,当值为负数时,表示向相反方向前进

turtle.bk()函数控制画笔向进行方向的反方向运动一个距离
turtle.bk(distance)别名turtle.backward(distance)
作用:向小海龟当前行进的反方向运动distance距离,画笔方向不变
参数:distance:行进距离的像素值,当值为负数时,表示向前进方向运动

turtle.right(angle)
作用:改变画笔行进方向为当前方向右侧angle度。angle是角度相对值
参数:角度的整数值

turtle.left(angle)
作用:改变画笔行进方向为当前方向左侧angle度。angle是角度相对值
参数:角度的整数值

turtle.goto(x,y)
作用:移动画笔到画布中的特定位置,该位置以坐标(x,y)方式表达。如果当前画笔处于落下状态,则绘制当前位置到目标位置的线条
参数:
x:画布中特定位置的横坐标
y:画布中特定位置的纵坐标

turtle.setx(x)
作用:修改画笔的横坐标到x,纵坐标不变
参数:x:画布中横坐标的一个值

turtle.sety(y)
作用:修改画笔的纵坐标到y,横坐标不变
参数:y:画布中纵坐标的一个值

turtle.setheading(to_angle)别名turtle.seth(to_angle)
作用:设置小海龟当前行进方向为to_angle,该角度是绝对方向角度值
参数:to_angle:角度的整数值
(turtle库的角度坐标体系以正东向为0度,以正西方向为180度)

turtle.home()
作用:移动画笔到坐标系原点,画笔方向为初始方向
参数:无

turtle.circle(radius,extent=None)
作用:根据半径radius绘制extent角度的弧形
参数:
radius:弧形半径。当值为正数时,半径在小海龟左侧,当值为负数时,半径在小海龟右侧
extent:绘制弧形的角度。当不给该参数或参数为None时,绘制整个圆形

turtle.dot(size,color)
作用:绘制一个带有背景色color、直径为size的圆点
参数:
size:圆点的直径,像素值
color:颜色字符串或RGB的0-1值,表示背景颜色

turtle.undo()
作用:撤销绘图的最后一次动作
参数:无

turtle.speed(s)
作用:设置画笔的绘制速度,参数为0-10整数,0表示没有绘制动作,1-10逐步增加绘制速度,超过10则等同于参数为0。
参数:s:速度的设定值,0-10之间的整数。


import turtle as t
t.pensize(3)
t.penup()
t.goto(-200,-50)
t.pendown()
t.begin_fill()
t.color('green')
t.circle(50,steps=5)
t.end_fill()

在这里插入图片描述

3.random库概述

  • python提供了random库用于产生各种分布的伪随机数序列。random库采用梅森旋转算法生成伪随机数序列,用于除随机性要求更高的加密算法外的大多数工程应用
  • random库提供了不同类型的随机数,其中最基本的函数是random.random(),它生成一个[0.0-1.0]之间的随机小数,其他随机数都是基于这个函数而来的。

在这里插入图片描述

3.1 random库与随机数运用

函数描述
seed(a=None)初始化随机数种子,默认值为当前系统时间
random()生成一个[0.0,1.0]之间的随机小数
randint(a,b)生成一个[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个元素,以列表类型返回
  • python中随机数的生成基于随机数“种子”,每个种子作为输入,利用算法生成一系列随机数,构成伪随机序列。random库使用random.seed(a)对后续产生的随机数设置种子。
  • 所有的随机数都是基于random()函数实现的几种具体功能。(设置相同的种子,则后续产生的随机数相同)

在这里插入图片描述

random.seed(s)
作用:为随机数序列确定种子,其中参数为种子
参数:s:随机数种子,一个整数或浮点数

4.time库概述

  • time库是python提供的处理时间标准库。time库提供系统级精确计时器的计时功能,可以用来分析程序性能,也可以让程序暂停运行时间。

  • time库的功能主要分为3个方面:

    • 时间处理(4个函数)
      • time.time()、time.gmtime()、time.localtime()、time.ctime()
    • 时间格式化(3个函数)
      • time.mktime()、time.strftime()、time.strptime()
    • 计时(3个函数)
      • time.sleep()、time.monotonic()、time.perf_counter()
  • 使用time.time()获取当前时间戳

在这里插入图片描述

  • 使用time.gmtime(sec)获取当前时间戳对应的struct_time对象

在这里插入图片描述

  • 使用time.localtime(secs)获取当前时间戳对应的本地时间的struct_time对象。与time.gmtime()的区别,是UTC时间已自动转化为北京时间

在这里插入图片描述

  • time.ctime(secs)获取当前时间戳对应的易读字符串表示,内部会调用time.localtime()函数以输出当地时间。

在这里插入图片描述

  • time库使用time.mktime()、time.strftime()、time.strptime()进行时间格式化。
  • 使用time.mktime(t)将struct_time对象t转换为时间戳,注意t代表当地时间
  • struct_time对象的元素构成
下标属性
0tm_year年份、整数
1tm_mon月份[1,12]
2tm_mday日期[1,31]
3tm_hour小时[0,23]
4tm_min分钟[0,59]
5tm_sec秒[0,60]
6tm_wday星期[0,6] (0代表星期一)
7tm_yday该年第几天[1,366]
8tm_isdst是否夏令时,0否,1是,-1未知
  • 调用time.mktime(t)函数
    在这里插入图片描述

  • time.strftime()函数是时间格式化最有效的方法,几乎可以以任何通用格式输出时间。该方法利用一个格式字符串,对时间格式进行表示。
    在这里插入图片描述

  • strftime()方法的格式化控制符

格式化字符串日期/时间值范围和实例
%Y年份0001-9999 例如:1900
%m月份01-12 例如:10
%B月名January-December 例如:April
%b月名缩写Jan-Dec 例如:Apr
%d日期01-31 例如:25
%A星期Monday-Sunday 例如:Wednesday
%a星期缩写Mon-Sun 例如:Wed
%H小时(24h制)00-23 例如:12
%l小时(12h制)01-12 例如:7
%p上/下午AM,PM 例如:PM
%M分钟00-59 例如:26
%S00-59 例如:26

strptime()方法与strftime()方法完全相反,用于提起字符串中的时间来生成struct_time对象,可以很灵活的作为time模块输入接口

在这里插入图片描述

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值