Python 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:绘制正方形

python

import turtle


t = turtle.Turtle()

t.speed(1) # 设置速度为最慢


for _ in range(4):

t.forward(100)

t.right(90)


turtle.done() # 保持窗口

示例 2:绘制彩色五角星

python

import turtle


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:绘制螺旋图案

python

import turtle


t = turtle.Turtle()

t.speed(0) # 最快速度


for i in range(100):

t.forward(i * 2)

t.right(91)


turtle.done()

示例 4:递归树(分形图形)

python

import turtle


def draw_tree(branch_length):

if branch_length < 5:

return

turtle.forward(branch_length)

turtle.right(20)

draw_tree(branch_length - 15)

turtle.left(40)

draw_tree(branch_length - 15)

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. 高级技巧

  1. 隐藏海龟turtle.hideturtle()t.ht()
  2. 自定义形状:使用 turtle.register_shape("name", coordinates) 定义形状。
  3. 事件监听:通过 turtle.onkey(func, "key")turtle.listen() 实现交互。
  4. 批量绘图优化:关闭动画加速绘制:

python

turtle.tracer(0) # 关闭动画

# 绘图代码...

turtle.update() # 手动更新画面


6. 常见问题

  • 窗口闪退:确保代码最后有 turtle.done()turtle.exitonclick()
  • 颜色模式:使用 RGB 时需先设置 turtle.colormode(255)
  • 坐标系调整:通过 turtle.setworldcoordinates(x1, y1, x2, y2) 自定义坐标系。

通过 turtle 库,你可以轻松实现从简单几何图形到复杂分形的创作。结合循环、递归和事件监听,还能开发交互式绘图程序!

相关文章

「强强联合」在Power BI 中使用Python(1)——导入数据

编辑搜图请点击输入图片描述近几年,Python是越来越火了,就连地产大佬潘石屹都在年近不惑之时开始学习Python编程语言,我们做数据分析和运营的怎能不熟练运用呢?编辑搜图图片模糊,建议替换或删除×请...

Pycharm导入python项目

进入PyCharm后,点击File→Open,然后在弹窗中选择需要导入项目的文件夹;打开了python项目后,需要配置该项目对应的python才可以正常运行;配置步骤:File→settings在设置...

零基础到发布:手把手教你创建并分发 Python 自定义库

作为程序员,我们经常依赖各种外部库来解决不同的问题。这些库由技术娴熟的开发者创建,为我们提供了节省时间和精力的解决方案。但你是否曾想过:“我也能创建属于自己的自定义库吗?”答案是肯定的!本文将为你详细...

彻底搞懂Python 中的 import 与 from import

对不少 Python 初学者来说,Python 导入其他模块的方式让他们很难理解。什么时候用import xxx?什么时候用from xxx import yyy?什么时候用from xxx.yyy...

python首行代码import *,from * import * 解析

python代码,一般第一行代码都是import *或from * import *,作用是导入功能模块,然后利用模块内的函数编写代码,减少大量的代码编写时间,是python的一大特色。但是,在实际写...

Python的RSA操作(私钥与公钥)

RSA是1977年由罗纳德·李维斯特(Ron Rivest)、阿迪·萨莫尔(Adi Shamir)和伦纳德·阿德曼(Leonard Adleman)一起提出的。当时他们三人都在麻省理工学院工作。RSA...