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. 状态:画笔的状态(颜色、粗细、是否落笔)一旦设置,会一直保持,直到你再次修改它。

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

相关推荐
宸丶一几秒前
Day 13:持久化记忆 - 让 Agent 拥有长期记忆
jvm·python·ai
码云骑士25 分钟前
13-列表append的底层真相(上)-listobject源码中的预分配策略
开发语言·python
浦信仿真大讲堂43 分钟前
达索系统SIMULIA Abaqus 2026接触和约束的增强新功能介绍
人工智能·python·算法·仿真软件·达索软件
xufengzhu1 小时前
第三方 Python 库 Loguru 的进阶实战
python·loguru
极光代码工作室2 小时前
基于深度学习的手写数字识别系统
人工智能·python·深度学习·神经网络·机器学习
geovindu2 小时前
python: speech to text offline
开发语言·python·语音识别
AI创界者2 小时前
告别云端限制!Sulphur 2 本地文生视频/图生视频整合包,本地部署,解压即用,保姆级部署与工作流实战
人工智能·python·aigc·音视频
tsfy20033 小时前
Python批量调整Excel格式,并排版导出PDF
python·pdf·excel
木囧3 小时前
PyCharm手动创建虚拟环境
ide·python·pycharm
李可以量化3 小时前
QMT 量化实践:两种方式获取个股上市日期(内置 Python + 原生 Python 完整可运行代码)
python