摘要:Python 的turtle库是一个非常适合初学者的绘图工具,通过简单的指令可以控制“海龟”在屏幕上移动并绘制图形。以下是详细的 Turtle 库使用指南,包含基础操作、常用函数和代码示例。
Python 的 turtle 库是一个非常适合初学者的绘图工具,通过简单的指令可以控制“海龟”在屏幕上移动并绘制图形。以下是详细的 Turtle 库使用指南,包含基础操作、常用函数和代码示例。
1. 安装与导入
turtle 是 Python 的标准库,无需额外安装。直接导入即可:
python
import turtle
2. 基础概念
画布(Canvas):绘图区域,可通过 turtle.setup(width, height) 设置大小。画笔(Turtle):初始位置在画布中心 (0,0),默认朝右(东方向)。坐标系:中心为 (0,0),向右为 X 轴正方向,向上为 Y 轴正方向。3. 常用函数速查
画笔控制
函数说明turtle.forward(distance) 或 turtle.fd(d)向前移动 d 像素turtle.backward(distance) 或 turtle.bk(d)向后移动 d 像素turtle.right(angle) 或 turtle.rt(a)向右转 angle 度turtle.left(angle) 或 turtle.lt(a)向左转 angle 度turtle.goto(x, y)移动到坐标 (x, y)turtle.home返回初始位置 (0,0),朝东画笔属性
函数说明turtle.penup 或 turtle.pu抬起画笔(移动不画线)turtle.pendown 或 turtle.pd落下画笔(恢复画线)turtle.pensize(width)设置画笔粗细turtle.pencolor(color)设置画笔颜色(如 "red", "#FF0000")turtle.speed(speed)设置速度(0-10,0 最快)turtle.fillcolor(color)设置填充颜色
填充与图形
函数说明turtle.begin_fill开始填充图形turtle.end_fill结束填充图形turtle.circle(radius)画半径为 radius 的圆窗口控制
函数说明turtle.done保持窗口不关闭turtle.bye关闭绘图窗口turtle.reset清空画布并重置海龟4. 实例演示
示例 1:绘制正方形
t = turtle.Turtle
t.speed(1) # 设置速度为最慢
for _ in range(4):
t.forward(100)
t.right(90)
turtle.done # 保持窗口
示例 2:绘制彩色五角星
t = turtle.Turtle
t.speed(2)
t.color("red", "yellow") # 画笔红色,填充黄色
t.begin_fill
for _ in range(5):
t.forward(100)
t.right(144) # 五角星角度为 144°
t.end_fill
turtle.done
示例 3:绘制螺旋图案
t.speed(0) # 最快速度
for i in range(100):
t.forward(i * 2)
t.right(91)
turtle.done
示例 4:递归树(分形图形)
def draw_tree(branch_length):
if branch_length
return
turtle.forward(branch_length)
turtle.right(20)
draw_tree(branch_length - 15)
turtle.left(40)
turtle.right(20)
turtle.backward(branch_length)
turtle.speed(0)
turtle.left(90) # 初始朝上
turtle.penup
turtle.goto(0, -100)
turtle.pendown
draw_tree(100)
turtle.done
5. 高级技巧
隐藏海龟:turtle.hideturtle 或 t.ht。自定义形状:使用 turtle.register_shape("name", coordinates) 定义形状。事件监听:通过 turtle.onkey(func, "key") 和 turtle.listen 实现交互。批量绘图优化:关闭动画加速绘制:python
turtle.tracer(0) # 关闭动画
# 绘图代码...
turtle.update # 手动更新画面
6. 常见问题
窗口闪退:确保代码最后有 turtle.done 或 turtle.exitonclick。颜色模式:使用 RGB 时需先设置 turtle.colormode(255)。坐标系调整:通过 turtle.setworldcoordinates(x1, y1, x2, y2) 自定义坐标系。通过 turtle 库,你可以轻松实现从简单几何图形到复杂分形的创作。结合循环、递归和事件监听,还能开发交互式绘图程序!
来源:老客数据一点号