Turtle库的用法

Turtle(海龟)库是 Python 中一个非常经典且有趣的标准图形库。它通过控制一个屏幕上的光标(那只"小海龟")移动来绘制图形,非常适合编程初学者理解逻辑和坐标系,也能用来创作精美的艺术图案。

由于它是 Python 的标准库,通常无需安装,直接导入即可使用。

以下我为你整理的 Turtle 库核心用法速查手册:

1. 基础设置:画布与画笔

在开始画画前,你需要一个画布和一支画笔。

python 复制代码
import turtle

# --- 1. 设置画布 (窗口) ---
# turtle.setup(width, height, startx, starty)
turtle.setup(800, 600, 100, 100) # 宽800,高600,距屏幕左上角(100,100)

# --- 2. 创建画笔对象 ---
t = turtle.Turtle() 
t.shape("turtle")    # 设置画笔形状为海龟
t.color("blue")      # 设置画笔颜色
t.speed(5)           # 设置绘制速度 (1-10, 0最快)

# --- 3. 设置背景 ---
screen = turtle.Screen()
screen.bgcolor("white") # 设置背景色

2. 核心绘图:移动与控制

这是 Turtle 最常用的部分,控制小海龟怎么走、怎么画。

功能 方法 说明
前进/后退 t.forward(100) 向当前方向前进 100 像素
t.backward(50) 向后退 50 像素
转向 t.right(90) 向右转 90 度
t.left(45) 向左转 45 度
移动到指定点 t.goto(100, 50) 移动到绝对坐标 (100, 50)
t.setx(50) 只改变 X 坐标
t.sety(50) 只改变 Y 坐标
抬笔/落笔 t.penup() 抬起画笔(移动不留痕)
t.pendown() 落下画笔(移动留痕迹)
画圆 t.circle(50) 画半径为 50 的圆

3. 画笔样式控制

你可以随时改变线条的粗细、颜色和填充效果。

python 复制代码
# --- 4. 画笔样式 ---
t.pensize(3)           # 设置线条宽度为 3
t.pencolor("red")      # 设置线条颜色为红

# --- 5. 填充图形 (例如画一个实心圆) ---
t.begin_fill()         # 开始填充
t.circle(50)           # 画圆
t.end_fill()           # 结束填充

# --- 6. 隐藏/显示海龟 ---
t.hideturtle()         # 隐藏海龟图标,只看线条
t.showturtle()         # 显示海龟图标

4. 常用辅助函数

python 复制代码
# --- 7. 其他常用操作 ---
t.home()           # 回到原点 (0, 0),并恢复默认朝向
t.clear()          # 清空画布,但不改变海龟状态
t.reset()          # 清空画布,并重置海龟状态(回到原点、默认设置)
t.write("Hello")   # 在当前位置写文字

5. 完整示例:画一个彩色正方形

这是一个简单的实战代码,帮你串联上述知识点:

python 复制代码
import turtle

# 1. 设置
screen = turtle.Screen()
screen.bgcolor("black")

t = turtle.Turtle()
t.speed(1) # 速度慢一点,看得清楚
t.width(5) # 线条粗一点

colors = ["red", "blue", "green", "yellow"]

# 2. 循环画四条边
for color in colors:
    t.pencolor(color) # 每次换一种颜色
    t.forward(100)    # 画线
    t.right(90)       # 转弯

# 3. 结束
t.hideturtle() # 画完了,隐藏海龟
turtle.done()  # 保持窗口打开,直到手动关闭

💡 两个重要概念

  1. 坐标系 :画布中心是原点 (0, 0)。向右是 X 轴正方向,向上是 Y 轴正方向。
  2. 状态:画笔的状态(颜色、粗细、是否落笔)一旦设置,会一直保持,直到你再次修改它。

你可以直接复制上面的代码运行试试看,感受一下这只"小海龟"的魅力!

相关推荐
Sivan_Xin2 小时前
拒绝 If-Else 屎山:利用适配器模式(Adapter)构建第三方登录的“防腐层”实战
linux·python·适配器模式
AI Echoes2 小时前
LangChain Runnable组件重试与回退机制降低程序错误率
人工智能·python·langchain·prompt·agent
AAD555888992 小时前
YOLO11-Seg+ContextGuided:智能交通流量估算与拥堵检测实战指南
python
rose and war2 小时前
python和jinja版本问题导致的访问报500
python·ios
小鸡吃米…3 小时前
机器学习 - 感知机(Perceptron)
人工智能·python·机器学习
毅炼3 小时前
Java 基础常见问题总结(1)
开发语言·python
风栖柳白杨3 小时前
【语音识别】Qwen3-ASR原理及部署
人工智能·python·语音识别·xcode·audiolm
OnYoung3 小时前
编写一个Python脚本自动下载壁纸
jvm·数据库·python
R-G-B3 小时前
python 验证每次操作图片处理的顺序是否一致,按序号打上标签,图片重命名
开发语言·python·图片重命名·按序号打上标签·验证图片处理的顺序