命令及功能说明表

功能简称

命令

参数说明

功能说明

前进

forward(distance)

fd(distance)

distance:整数或浮点数

使海龟沿着当前指向的方向前进 distance 指定的距离

后退

back(distance)

bk(distance)

backward(distance)

distance:整数或浮点数

使海龟后退 distance 指定的距离,但是不改变海龟的原来的朝向

右转

right(angle)

rt(angle)

angle:整数或浮点数

使海龟右转 angle 个单位,单位默认为角度

左转

left(angle)

lt(angle)

angle:整数或浮点数

使海龟左转 angle 个单位,单位默认为角度

移动到坐标

goto(x, y)

setpos(x, y)

setposition(x, y)

x:整数或浮点数

y:整数或浮点数

使海龟移动到绝对坐标(x, y),移动后不改变海龟的朝向

移动到坐标

goto(position)

setpos(position)

setposition(position)

position:一个数值对或向量

使海龟移动到绝对坐标 position,移动后不改变海龟的朝向

沿x轴移动

setx(x)

x:整数或浮点数

纵坐标保持不变,使海龟移动到横坐标为 x 的位置上

沿y轴移动

sety(y)

y:整数或浮点数

横坐标保持不变,使海龟移动到纵坐标为 y 的位置上

海龟朝向

setheading(angle)

seth(angle)

angle:整数或浮点数

根据当前模式,设置海龟的朝向为 angle,标准模式 (0 - 东,90 - 北,180 - 西,270 - 南)、logo 模式(0 - 北,90 - 东,180 - 南,270 - 西)

回起点

home()


使海龟移动到(0,0),并设置朝向为初始朝向

圆形

circle(radius)

radius:整数或浮点数

绘制以 radius 为半径的圆,圆心在海龟左边 radius 个单位

圆弧

circle(radius, extent)

radius:整数或浮点数

extent:整数或浮点数

绘制以 radius 为半径的圆,圆心在海龟左边 radius 个单位,extent 为一个夹角,以当前画笔位置为一个端点绘制圆弧(如果 radius 为正值则朝逆时针方向绘制圆弧,否则朝顺时针方向),海龟的朝向会依据 extent 的值而改变

内切正多边形

circle(radius, extent, steps)

radius:整数或浮点数

extent:整数或浮点数

steps:整数或浮点数

圆是以其内切正多边形来近似表示的,边的数量由 steps 指定。此方法也可用来绘制正多边形

绘点

dot()


绘制一个直径为1的圆点

绘点

dot(size)

size:一个整数 >= 1

绘制一个直径为 size 的圆点

绘点

dot(size, color)

size:一个整数 >= 1

color:颜色字符串或者颜色数值元组

绘制一个直径为 size,颜色为 color 的圆点

绘制海龟形状

stamp()


在当前位置印制一个海龟形状,并返回该海龟形状印章的 stamp_id

删除指定的海龟形状

clearstamp(stampid)

stampid:整数,必须是之前调用 stamp() 的返回值

删除指定 stampid 的海龟形状印章

删除多个海龟形状

clearstamps(n)

n:一个整数

删除前/后 n 个海龟印章。如果 n > 0 则删除前 n 个印章, n < 0 则删除后 n 个印章

删除全部海龟形状

clearstamps()


删除全部海龟印章

撤消上一步

undo()


撤消最近的一个 (或多个) 海龟动作

设置绘制速度

speed(speed)

speed:0~10 范围内的整数或速度字符串

设置绘制速度,如果 speed 大于 10 或小于 0.5 则速度设为 0,即无动画效果。速度字符串与速度值对应关系(“fastest”: 0 最快;“fast”: 10 快;“normal”: 6 正常;“slow”: 3 慢;“slowest”: 1 最慢)

查询绘制速度

speed()


返回当前海龟移动速度

查询当前位置

position()

pos()


返回海龟当前的坐标 (x,y)

求夹角

towards(x)

x:数值对/矢量/一个海龟实例

返回从海龟当前位置到由数值对或矢量或另一海龟所确定位置的连线的夹角,数值依赖于海龟的初始朝向

求夹角

towards(x, y)

x:整数或浮点数

y:整数或浮点数

返回从海龟当前位置到由(x,y)所确定位置的连线的夹角,数值依赖于海龟的初始朝向

获取当前位置x坐标

xcor()


返回当前海龟位置的 x 坐标

获取当前位置y坐标

ycor()


返回当前海龟位置的 y 坐标

获取当前海龟的朝向

heading()


返回海龟当前的朝向

求距离

distance(x)

x:数值对/矢量/海龟实例

返回从海龟位置到由数值对或矢量或另一海龟对应位置的单位距离

求距离

distance(x, y)

x:整数或浮点数

y:整数或浮点数

返回从海龟位置到由 (x,y) 对应位置的单位距离

设置角度的度量单位

degrees(fullcircle)

fullcircle:整数或浮点数

设置角度的度量单位,即一个圆周为多少度,默认值 360 度

设置角度的度量单位为弧度

radians()


设置角度的度量单位为弧度,值为degrees(2*math.pi)

画笔落下

pendown()

pd()

down()


设置画笔落下,海龟移动时将画线

画笔抬起

penup()

pu()

up()


设置画笔抬起,海龟移动时不会画线

设置线条粗细

pensize(width)

width(width)

width:正整数或正浮点数

设置线条粗细为 width

查看线条粗细

pensize()

width()


返回当前线条粗细

查询画笔属性

pen()


返回当前画笔属性

设置画笔属性

pen(pen, pendict)

pen:一个包含部分或全部下列键的字典

pendict:一个或多个键为关键字的关键字参数

设置画笔的属性,以一个包含以下键值对的字典表示:

“shown”: True/False

"pendown": True/False

"pencolor": 颜色字符串或颜色元组

"fillcolor": 颜色字符串或颜色元组

"pensize": 正数值

"speed": 0~10 范围内的数值

"resizemode": “auto” 或 “user” 或 “noresize”

“stretchfactor”: (正数值, 正数值)

“outline”: 正数值

"tilt": 数值

画笔是否落下

isdown()


画笔落下返回 True,画笔抬起返回 False

查看画笔颜色

pencolor()


返回画笔颜色

设置画笔颜色

pencolor(colorstring)

colorstring:颜色字符串

设置画笔颜色为 colorstring 指定的 Tk 颜色描述字符串,如 “blue” 或 “#ffffff”

设置画笔颜色

pencolor((r, g, b))

r, g, b:范围为 0~colormode,colormode 的值为 1.0 或 255

设置画笔颜色为以 r, g, b 元组表示的 RGB 颜色

设置画笔颜色

pencolor(r, g, b)

r, g, b:范围为 0~colormode

设置画笔颜色为以 r, g, b 表示的 RGB 颜色

返回填充颜色

fillcolor()


返回以颜色描述字符串或元组表示的当前填充颜色

设置填充颜色

fillcolor(colorstring)

colorstring:颜色字符串

设置填充颜色为 colorstring 指定的 Tk 颜色描述字符串,如 “blue” 或 “#ffffff”

设置填充颜色

fillcolor((r, g, b))

r, g, b:范围为 0~colormode,colormode 的值为 1.0 或 255

设置填充颜色为以 r, g, b 元组表示的 RGB 颜色

设置填充颜色

fillcolor(r, g, b)

r, g, b:范围为 0~colormode

设置填充颜色为 r, g, b 表示的 RGB 颜色

查询画笔颜色和填充颜色

color()


返回以一对颜色描述字符串或元组表示的当前画笔颜色和填充颜色

同时设置画笔颜色和填充颜色

color(colorstring)

color((r,g,b))

color(r,g,b)

设置填充颜色和画笔颜色同时为指定的值

分别设置画笔颜色和填充颜色

color(colorstring1, colorstring2)

color((r1,g1,b1), (r2,g2,b2))

设置填充颜色,画笔颜色

填充状态

filling()


返回填充状态,填充为 True,否则为 False

填充

begin_fill()

在绘制要填充的形状之前调用

填充

end_fill()

填充上次调用 begin_fill() 之后绘制的形状

重置海龟绘图

reset()


删除屏幕中的绘图,海龟回到原点并重置所有变量

删除海龟绘图

clear()


删除屏幕中指定海龟绘图,不移动海龟,海龟的状态和位置不变

文本

write(arg, move, align, font=(“Arial”, 8, “normal”))

arg:字符串文本

move:True(画笔会移至文本的右下角)/False

align:“left”, “center” 或 "right"

font:一个三元组 (fontname, fontsize, fonttype)

书写文本

隐藏海龟

hideturtle()

ht()


隐藏海龟

显示海龟

showturtle()

st()


显示海龟

是否海龟可见

isvisible()


海龟被隐藏返回 False

查询海龟形状

shape()


返回当前海龟的形状名

设置海龟形状

shape(name)

name:有效的形状名字符串

设置海龟形状为 name 指定的形状名,name 指定的形状名应存在于 TurtleScreen 的 shape 字典中,多边形的形状初始时有以下几种: “arrow”, “turtle”, “circle”, “square”, “triangle”, “classic”

查询大小调整模式

resizemode()


返回当前的大小调整模式

设置大小调整模式

resizemode(rmode)

rmode:“auto”, “user”, “noresize”

设置大小调整模式为以下值之一:

“auto”: 根据画笔粗细值调整海龟的外观

"user": 根据拉伸因子和轮廓宽度 (outline) 值调整海龟的外观,两者是由 shapesize() 设置的

"noresize": 不调整海龟的外观大小

查询画笔属性

shapesize()

turtlesize()


返回画笔的属性

设置画笔属性

shapesize(stretch_wid, stretch_len, outline)

turtlesize(stretch_wid, stretch_len, outline)

stretch_wid:正整数或正浮点数

stretch_len:正整数或正浮点数

outline:正整数或正浮点数

设置画笔的属性 x/y-拉伸因子和/或轮廓

当且仅当大小调整模式设为 “user” 时海龟会基于其拉伸因子调整外观。

stretch_wid 为垂直于其朝向的宽度拉伸因子

stretch_len 为平等于其朝向的长度拉伸因子,决定形状轮廓线的粗细

查询当前剪切因子

shearfactor()


返回当前的剪切因子,与海龟朝向平行的线条将被剪切

设置剪切因子

shearfactor(shear)

shear:整数或浮点数

设置当前的剪切因子,根据 share 指定的剪切因子即剪切角度的切线来剪切海龟形状。不改变海龟的朝向

海龟转动

tilt(angle)

angle:整数或浮点数

海龟形状自其当前的倾角转动 angle 指定的角度,但不改变海龟的朝向

旋转海龟形状

settiltangle(angle)

angle:整数或浮点数

旋转海龟形状使其指向 angle 指定的方向,忽略其当前的倾角,不改变海龟的朝向

设置倾角

tiltangle(angle)

angle:整数或浮点数

设置当前的倾角。如果指定 angle 则旋转海龟形状使其指向 angle 指定的方向,忽略其当前的倾角。不改变海龟的朝向

变形矩阵

shapetransform()


返回以 4 元素元组表示的变形矩阵

变形矩阵

shapetransform(t11, t12, t21, t22)

t11:整数或浮点数

t12:整数或浮点数

t21:整数或浮点数

t12:整数或浮点数

根据设置指定元素的矩阵来改变海龟形状,矩阵第一排的值为 t11, t12 而第二排的值为 t21, t22。 行列式 t11 * t22 - t12 * t21 必须不为零,否则会引发错误。 根据指定矩阵修改拉伸因子 stretchfactor, 剪切因子 shearfactor 和倾角 tiltangle

返回元组表示多边形

get_shapepoly()


返回以坐标值对元组表示的当前形状多边形

鼠标按键绑定

onclick(fun, btn, add=None)

fun:函数,调用时将传入两个参数表示在画布上点击的坐标。

btn:鼠标按钮编号,默认值为 1 (鼠标左键)

add:True(添加一个新绑定)/False(取代先前的绑定)

将 fun 指定的函数绑定到鼠标点击此海龟事件,如果 fun 值为 None,则移除现有的绑定

释放鼠标按键绑定

onrelease(fun, btn, add=None)

fun:函数,调用时将传入两个参数表示在画布上点击的坐标。

btn:鼠标按钮编号,默认值为 1 (鼠标左键)

add:True(添加一个新绑定)/False(取代先前的绑定)

将 fun 指定的函数绑定到在此海龟上释放鼠标按键事件,如果 fun 值为 None,则移除现有的绑定

移动鼠标绑定

ondrag(fun, btn, add=None)

fun:函数,调用时将传入两个参数表示在画布上点击的坐标。

btn:鼠标按钮编号,默认值为 1 (鼠标左键)

add:True(添加一个新绑定)/False(取代先前的绑定)

将 fun 指定的函数绑定到在此海龟上移动鼠标事件,如果 fun 值为 None,则移除现有的绑定

记录多边形顶点

begin_poly()


开始记录多边形的顶点,当前海龟位置为多边形的第一个顶点

停止记录多边形顶点

end_poly()


停止记录多边形的顶点,当前海龟位置为多边形的最后一个顶点,它将连线到第一个顶点

返回最新记录多边形

get_poly()


返回最新记录的多边形

克隆海龟

clone()


创建并返回海龟的克隆体,具有相同的位置、朝向和海龟属性

返回自身

getturtle()

getpen()


返回海龟对象自身

返回 TurtleScreen 类对象

getscreen()


返回作为海龟绘图场所的 TurtleScreen 类对象

禁用撤销缓冲区

setundobuffer()


禁用撤销缓冲区

设置撤销缓冲区

setundobuffer(size)

size:整数

设置撤销缓冲区,开辟一个给定大小的空撤销缓冲区

返回撤销缓冲区里的条目数

undobufferentries()


返回撤销缓冲区里的条目数

返回背景颜色

bgcolor()


返回 TurtleScreen 的背景颜色

设置背景颜色

bgcolor(args)

args:颜色字符串或三个取值范围 0~colormode 内的数值或一个取值范围相同的数值3元组

设置 TurtleScreen 的背景颜色

返回背景图片名称

bgpic()


返回当前背景图片名称

设置背景图片

bgpic(picname)

picname:字符串文件名或"nopic"或None

设置背景图片,如果 picname 为一个文件名,则将相应图片设为背景,如果 picname 为 “nopic”,则删除当前背景图片,如果 picname 为 None,则返回当前背景图片文件名

删除所有海龟的绘图

clear()

clearscreen()


删除所有海龟的全部绘图,重置 TurtleScreen 为初始状态

重置状态

reset()

resetscreen()


重置屏幕上的所有海龟为其初始状态

返回画布大小

screensize()


返回当前的 (canvaswidth, canvasheight)

改变画布大小

screensize(canvwidth, canvheight, bg)

canvwidth:正整数,以像素表示画布的新宽度值

canvheight:正整数,以像素表示画面的新高度值

bg:颜色字符串或颜色元组,新的背景颜色

改变海龟绘图场所的画布大小,不改变绘图窗口

设置自定义坐标系

setworldcoordinates(llx, lly, urx, ury)

llx:整数或浮点数, 画布左下角的 x-坐标

lly:整数或浮点数, 画布左下角的 y-坐标

urx:整数或浮点数, 画面右上角的 x-坐标

ury:整数或浮点数, 画布右上角的 y-坐标

设置用户自定义坐标系并在必要时切换模式为 “world”。这会执行一次 screen.reset()。如果 “world” 模式已激活,则所有图形将根据新的坐标系重绘

返回延迟值

delay()


返回以毫秒数表示的延迟值

设置延迟值

delay(delay)

delay:正整数

设置以毫秒数表示的延迟值 delay,绘图延迟越长,动画速度越慢

启用/禁用动画

tracer(n, delay)

n:非负整数

delay:非负整数

启用/禁用海龟动画并设置刷新图形的延迟时间。如果指定 n 值,则只有每第 n 次屏幕刷新会实际执行。如果调用时不带参数,则返回当前保存的 n 值。第二个参数设置延迟值

刷新

update()


执行一次 TurtleScreen 刷新,在禁用追踪时使用

设置焦点

listen(xdummy, ydummy)

设置焦点到 TurtleScreen (以便接收按键事件)。使用两个 Dummy 参数以便能够传递 listen() 给 onclick 方法

绑定函数到按键释放事件

onkey(fun, key)

onkeyrelease(fun, key)

fun:无参数的函数或 None

key:字符串,键 (例如 “a”) 或键标 (例如 “space”)

绑定 fun 指定的函数到按键释放事件,如果 fun 值为 None,则移除事件绑定,为了能够注册按键事件,TurtleScreen 必须得到焦点

绑定函数到按键按下事件

nkeypress(fun, key)

fun:无参数的函数或 None

key:字符串,键 (例如 “a”) 或键标 (例如 “space”)

绑定 fun 指定的函数到指定键的按下事件。如未指定键则绑定到任意键的按下事件,为了能够注册按键事件,必须得到焦点

绑定函数到鼠标点击事件

onclick(fun, btn, add)

onscreenclick(fun, btn, add)

fun:函数,调用时将传入两个参数表示在画布上点击的坐标

btn:鼠标按钮编号,默认值为 1 (鼠标左键)

add:True(添加一个新绑定)或False(取代先前的绑定)

绑定 fun 指定的函数到鼠标点击屏幕事件,如果 fun 值为 None,则移除现有的绑定

在计时完毕调用函数

ontimer(fun, t)

fun:无参数的函数

t:数值 >= 0

安装一个计时器,在 t 毫秒后调用 fun 函数

绘图结束

mainloop()

done()


开始事件循环,调用 Tkinter 的 mainloop 函数。必须作为一个海龟绘图程序的结束语句。如果一个脚本是在以 -n 模式 (无子进程) 启动的 IDLE 中运行时不可使用用于实现海龟绘图的交互功能

弹出对话框输入字符串

textinput(title, prompt)

title:字符串

prompt:字符串

弹出一个对话框窗口用来输入一个字符串。形参 title 为对话框窗口的标题,prompt 为一条文本,通常用来提示要输入什么信息。返回输入的字符串。如果对话框被取消则返回 None

弹出对话框输入数值

numinput(title, prompt, default, minval, maxval)

title:字符串

prompt:字符串

default:数值 (可选)

minval:数值 (可选)

maxval:数值 (可选)

弹出一个对话框窗口用来输入一个数值。title 为对话框窗口的标题,prompt 为一条文本,通常用来描述要输入的数值信息。default: 默认值, minval: 可输入的最小值, maxval: 可输入的最大值。输入数值的必须在指定的 minval … maxval 范围之内,否则将给出一条提示,对话框保持打开等待修改。返回输入的数值。如果对话框被取消则返回 None

设置海龟模式

mode(mode)

mode:“standard”, “logo” 或 “world”

设置海龟模式 (“standard”, “logo” 或 “world”) 并执行重置。如未指定模式则返回当前的模式(“standard”,初始海龟朝向朝右 (东),正数角度逆时针;“logo”,初始海龟朝向朝上 (北),正数角度顺时针)

返回/设置颜色模式

colormode(cmode)

cmode:数值 1.0 或 255

返回颜色模式或将其设为 1.0 或 255。构成颜色三元组的 r, g, b 数值必须在 0~cmode 范围之内

返回此 Canvas 对象

getcanvas()


返回此 TurtleScreen 的 Canvas 对象

返回海龟形状列表

getshapes()


返回所有当前可用海龟形状的列表

海龟形状加入形状列表

register_shape(name)

addshape(name)

name:gif 文件的文件名

将一个海龟形状加入 TurtleScreen 的形状列表

海龟形状加入形状列表

register_shape(name, shape)

addshape(name, shape)

name:指定的字符串,shape:由坐标值对构成的元组或者name:指定的字符串,为一个 (复合) Shape 类对象

将一个海龟形状加入 TurtleScreen 的形状列表

返回海龟列表

turtles()


返回屏幕上的海龟列表

返回窗口的高度

window_height()


返回海龟窗口的高度

返回窗口的宽度

window_width()


返回海龟窗口的宽度

奥运五环的例子

代码如下:

"""
绘制奥运五环
Version: 1.0
Author: Caizi
"""
import turtle
turtle.width(10)

turtle.color("blue")
turtle.circle(50)

turtle.penup()
turtle.goto(120, 0)
turtle.pendown()
turtle.color("black")
turtle.circle(50)

turtle.penup()
turtle.goto(240, 0)
turtle.pendown()
turtle.color("red")
turtle.circle(50)

turtle.penup()
turtle.goto(60, -50)
turtle.pendown()
turtle.color("yellow")
turtle.circle(50)

turtle.penup()
turtle.goto(180, -50)
turtle.pendown()
turtle.color("green")
turtle.circle(50)

turtle.penup()
turtle.goto(40, -100)
turtle.pendown()
turtle.color("black")
turtle.write("Tokyo 2020", font=("微软雅黑", 20, "bold"))

turtle.done()