除了之前文章中介绍的turtle模块的绘图函数,本文从turtle帮助文档中梳理了其它绘图或状态函数,编写复杂的绘图函数时也用得到,函数清单如下表所示:

序号

函数名称

说明

1

turtle.home

返回初始坐标 (0,0),并设置朝向为初始方向

2

turtle.dot

在当前位置绘制一个直径为 size,颜色为 color 的圆点

3

turtle.stamp

在当前位置印制一个海龟形状,在本机测试时形状为一箭头,函数返回该印章的唯一标识,可以调用clearstamp和clearstamps删除标识

4

turtle.undo

撤消最近的一个海龟动作,连续调用本函数则会连续撤销多个动作

5

turtle.distance

返回从当前位置到指定点(或矢量或另一海龟实例)的直线距离

6

turtle.towards

返回从当前位置到指定点(或矢量或另一海龟实例)的连线的夹角

7

turtle.pen

集中设置画笔的属性,包括线条颜色、填充颜色、线条宽度等,其实就是相当于将pensize、pencolor、fillcolor等函数的作用集中在一个函数中设置

8

turtle.isdown

画笔落下时返回true,抬起时返回false

9

turtle.reset

从屏幕中删除海龟的绘图,海龟回到原点并设置所有变量为默认值,也即调用该函数后所有的图形都清除,所有的设置都变为默认值

10

turtle.clear

从屏幕中删除指定海龟的绘图,但不是重置,海龟的状态和位置以及其他海龟的绘图不受影响

11

turtle.isvisible

返回海龟(或箭头)当前是显示还是隐藏

12

turtle.shape

设置海龟的形状,默认为classic,也即箭头形状,还可以选择"arrow", “turtle”, “circle”, “square”, “triangle”, "classic"等,选择turtle时为海龟形状

13

设置海龟形状

通过调用resizemode、shapesize、turtlesize、shearfactor、shapetransform、tilt等函数设置海龟的形状、朝向等

14

turtle.textinput

弹出一个对话框窗口用来输入一个字符串

15

turtle.numinput

弹出一个对话框窗口用来输入一个数字

16

turtle.title

设置海龟窗口标题

17

turtle.bgpic

设置背景图片

18

turtle.screensize

设置海龟窗口大小

19

绘制复杂形状

可以调用begin_poly、end_poly和get_poly绘制复杂多边形,也可以创建空 Shape 对象,然后调用addcomponent添加形状,不过从帮助文档中看到的用途主要是修改海龟的形状

  对上述函数中的画点和画海龟图标函数进行测试,测试代码及运行效果如下所示(第二组示例代码中的海龟图标设置为了海龟形状):

import turtle as t
 
t.home()
t.dot()
t.fd(50)
t.dot(20,'red')
t.fd(50)
t.stamp()
t.fd(50)

t.hideturtle()
t.done()

python turtle fd python turtle fd函数_python

import turtle as t

t.shape('turtle')
t.home()
t.dot()
t.fd(50)
t.dot(20,'red')
t.fd(50)
t.stamp()
t.fd(50)

t.hideturtle()
t.done()

python turtle fd python turtle fd函数_python_02


  基于上述测试代码,插入了弹出窗口获取数值的函数调用,程序及运行截图如下所示:

import turtle as t

t.shape('turtle')
t.home()
t.dot()
t.fd(50)
t.dot(20,'red')
t.fd(t.numinput('前进步数','输入前进的步数'))
t.stamp()
t.fd(50)

t.hideturtle()
t.done()

python turtle fd python turtle fd函数_turtle_03


  turtle模块还包括有屏幕事件、鼠标事件等高级用法,同时turtle模块自带的演示脚本中可以实现动画、鼠标交互等,后续会学习turtle模块自带的演示示例。