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

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

相关推荐
Csvn15 小时前
🌟 LangChain 30 天保姆级教程 · Day 13|OutputParser 进阶!让 AI 输出自动转为结构化对象,并支持自动重试!
python·langchain
cch891815 小时前
Python主流框架全解析
开发语言·python
sg_knight15 小时前
设计模式实战:状态模式(State)
python·ui·设计模式·状态模式·state
好运的阿财15 小时前
process 工具与子agent管理机制详解
网络·人工智能·python·程序人生·ai编程
张張40816 小时前
(域格)环境搭建和编译
c语言·开发语言·python·ai
weixin_4235339916 小时前
【Windows11离线安装anaconda、python、vscode】
开发语言·vscode·python
Ricky111zzz16 小时前
leetcode学python记录1
python·算法·leetcode·职场和发展
小白学大数据16 小时前
Selenium+Python 爬虫:动态加载头条问答爬取
爬虫·python·selenium
Hui Baby16 小时前
springboot读取配置文件
后端·python·flask
阿Y加油吧17 小时前
回溯法经典难题:N 皇后问题 深度解析 + 二分查找入门(搜索插入位置)
开发语言·python