前言
Turtle模块是Python的一个内置模块,这个模块的开发的初衷是通过绘图来教小孩学习编程,当时十分流行;现在也用在零基础入门的学习者的教学中。这个绘图模块使用简单,十分容易上手,在零基础入门的学生中也是很受欢迎的。下面我会以一个实例来讲解Turtle绘图的用法。
Turtle库常见的绘图指令
我把turtle常用的指令都整理出来如下图所示,大多数情况下的绘图所需的指令都在下面:
turtle.setup() #设置窗体位置及大小
turtle.pendown() # 放下画笔
turtle.penup() # 抬起画笔
turtle.pensize(int) # 设置画笔宽度
turtle.forward(float) # 将画笔向后移动一定的角度
turtle.right(angle) # 将画笔右转一定的角度
turtle.left(angle) #将画笔左转一定的角度
turtle.goto(x,y) # 将画笔移动到一个指定的绝对坐标
turtle.setx(x) # 设置画笔向x方向移动的距离,值为实数
turtle.sety(y) # 设置画笔向y方向移动的距离,值为实数
turtle.setheading(angle) # 设定turtle箭头的方向为指定方向,0–东 90—北
turtle.home() # 将画笔返回到原点
turtle.circle(r,ext,steps=int) # 绘制一个设置半径和阶数的圆(设置之后会绘制多边形)
turtle.dot(d,color) # 绘制一个指定直径的圆点,颜色为字符串类型
turtle.undo() #取消最后一个图操作
turtle.speed(s) # 设置画笔速度,为整数类型,且取值在1-10之间
turtle.color(‘str’) # 设置画笔颜色,为字符串类型
turtle.fillcolor(‘str’) # 设置填充颜色,为字符串类型
turtle.begin_fill() # 结束填充
turtle.end_fill() # 开始填充
turtle.filling() # 返回填充状态,True表示填充,False表示没有填充
turtle.clear() # 清除窗口所有内容
turtle.reset() # 清除窗口,将状态和位置复位为初始值
turtle.screensize(w,h) # 设置turtle显示的大小,并设置宽度和高度
turtle.hideturtle() # 隐藏turtle箭头
turtle.showturtle() # 显示turtle窗口
turtle.done() # 使turtle窗口不会自动消失
turtle.isvisible() # 如果turtle可见,返回turtle
turtle.write(‘str’,font=(“Arial”,8,“normal”)) # 在turtle位置编写字符串s,字体由字体名、字体大小、字体类型三部分组成
turtle.position() # 获取画笔的坐标,返回一个元组,值为浮点型
绘制漫天雪花
程序结构分为三个部分,分别是:绘制雪花、绘制地面、主程序
绘制雪花
首先初始化画笔的参数
然后通过random模块随机设置颜色(R,G,B)中的三个参数,使用画笔的pencolor(R,G,B)命令,设置画笔的颜色,从而绘制出不同颜色的雪花图案
绘制地面
地面主要是通过浅灰色线条来展示,所有只需要用到绘制直线的命令(起点到终点);另外,线条的位置以及长度随机出现,所以需要使用random模块来随机终点的坐标来控制随机长度,使用forward方法来控制随机位置。
主程序
设置画布的位置、大小、背景颜色等参数,然后调用绘制雪花以及绘制地面的函数即可
总结
turtle模块绘制图形,就是熟悉模块下的各种指令来完成各项绘图功能,这也是python外部库存在的意义。通过turtle的学习,我们要掌握python其他模块的使用规则以及学习要点,为后续的进阶做准备。