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

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

相关推荐
小鸡吃米…17 小时前
TensorFlow - 构建计算图
人工智能·python·tensorflow
cipher17 小时前
crawl4ai:AI时代的数据采集利器——从入门到实战
后端·爬虫·python
南 阳17 小时前
Python从入门到精通day37
数据库·python·oracle
开发者小天18 小时前
python安装 Matplotlib 库 安装 Seaborn 库
开发语言·python·matplotlib
with-the-flow18 小时前
从数学底层的底层原理来讲 random 的函数是怎么实现的
c语言·python·算法
iOS开发上架18 小时前
系统架构-进程管理
python·腾讯云
多恩Stone18 小时前
【3D-AICG 系列-15】Trellis 2 的 O-voxel Shape: Flexible Dual Grid 代码与论文对应
人工智能·python·算法·3d·aigc
ding_zhikai18 小时前
【Web应用开发笔记】Django笔记4-1:简单使用 Django 与本地数据库
数据库·笔记·后端·python
得一录18 小时前
安装 RabbitMQ(Windows)
python
李云龙炮击平安线程19 小时前
Python中的接口、抽象基类和协议
开发语言·后端·python·面试·跳槽