turtle库
概述
海龟绘图很适合用来引导孩子学习编程。 最初来自于 Wally Feurzeig, Seymour Papert 和 Cynthia Solomon 于 1967 年所创造的 Logo 编程语言。
请想象绘图区有一只机器海龟,起始位置在 x-y 平面的 (0, 0) 点。先执行 import turtle,再执行 turtle.forward(15),它将(在屏幕上)朝所面对的 x 轴正方向前进 15 像素,随着它的移动画出一条线段。再执行 turtle.right(25),它将原地右转 25 度。
turtle 模块提供面向对象和面向过程两种形式的海龟绘图基本组件。由于它使用 tkinter 实现基本图形界面,因此需要安装了 Tk 支持的 Python 版本。
使用海龟绘图可以编写重复执行简单动作的程序画出精细复杂的形状。
from turtle import *
color('red', 'yellow')
begin_fill()
while True:
forward(200)
left(170)
if abs(pos()) < 1:
break
end_fill()
done()
![在这里插入图片描述](https://img-blog.csdnimg.cn/93a6ee57ffc84df2805d16eb88b9ff31.gif#pic_center)
Turtle 方法
海龟动作
函数 | 描述 |
---|
forward() |fd() | 前进 |
backward() |bk()| back() | 后转 |
right() |rt() | 右转 |
left() | lt() | 左转 |
goto() |setpos()|setposition() | 前往/定位 |
setx() | 设置x坐标 |
sety() | 设置y坐标 |
setheading() |seth() | 设置朝向 |
home() | 返回原点 |
circle() | 画圆 |
dot() | 画点 |
stamp() | 印章 |
clearstamp() | 清除印章 |
clearstamps() | 清除多个印章 |
undo() | 撤销 |
speed() | 速度 |
函数 | 描述 |
---|
position()|pos() | 位置 |
towards() | 目标方向 |
xcor() | x坐标 |
ycor() | y坐标 |
heading() | 朝向 |
函数 | 描述 |
---|
degrees() | 角度 |
radians() | 弧度 |
画笔控制
函数 | 描述 |
---|
pendown() |pd()|down() | 画笔落下 |
penup()|pu()|up() | 画笔抬起 |
pensize()|width() | 画笔粗细 |
pen() | 画笔 |
isdown() | 画笔是否落下 |
函数 | 描述 |
---|
color() | 颜色 |
pencolor() | 画笔颜色 |
fillcolor() | 填充颜色 |
函数 | 描述 |
---|
filling() | 是否填充 |
begin_fill() | 开始填充 |
end_fill() | 结束填充 |
函数 | 描述 |
---|
reset() | 重置 |
clear() | 清空 |
write() | 书写 |
海龟状态
函数 | 描述 |
---|
showturtle()| st() | 显示海龟 |
hideturtle() |ht() | 隐藏海龟 |
isvisible() | 是否可见 |
函数 | 描述 |
---|
shape() | 形状 |
resizemode() | 大小调整模式 |
shapesize() |turtlesize() | 形状大小 |
shearfactor() | 剪切因子 |
settiltangle() | 设置倾角 |
tiltangle() | 倾角 |
shapetransform() | 变形 |
get_shapepoly() | 获取形状多边形 |
使用事件
函数 | 描述 |
---|
onclick() | 当鼠标点击 |
onrelease() | 当鼠标释放 |
ondrag() | 当鼠标拖动 |
特殊海龟方法
函数 | 描述 |
---|
begin_poly() | 结束记录多边形 |
end_poly() | 结束记录多边形 |
get_poly() | 获取多边形 |
clone() | 克隆 |
getturtle() |getpen() | 获取海龟画笔 |
getscreen() | 获取屏幕 |
setundobuffer() | 设置撤消缓冲区 |
undobufferentries() | 撤消缓冲区条目数 |
TurtleScreen/Screen 方法
窗口控制
函数 | 描述 |
---|
bgcolor() | 背景颜色 |
bgpic() | 背景图片 |
clearscreen() | |
resetscreen() | |
screensize() | 屏幕大小 |
setworldcoordinates() | 设置世界坐标系 |
动画控制
函数 | 描述 |
---|
delay() | 延迟 |
tracer() | 追踪 |
update() | 更新 |
使用屏幕事件
函数 | 描述 |
---|
listen() | 监听 |
onkey()|onkeyrelease() | 当键盘按下并释放 |
onkeypress() | 当键盘按下 |
onclick() | onscreenclick() | 当点击屏幕 |
ontimer() | 当达到定时 |
mainloop()|done() | 主循环 |
设置与特殊方法
函数 | 描述 |
---|
mode() | |
colormode() | 颜色模式 |
getcanvas() | 获取画布 |
getshapes() | 获取形状 |
register_shape() |addshape() | 添加形状 |
turtles() | 所有海龟 |
window_height() | 窗口高度 |
window_width() | 窗口宽度 |
输入方法
函数 | 描述 |
---|
textinput() | 文本输入 |
numinput() | 数字输入 |
Screen专有方法
函数 | 描述 |
---|
bye() | 退出 |
exitonclick() | 当点击时退出 |
setup() | 设置 |
title() | 标题 |
简单介绍了turtle库的函数,详细内容可见官方文档