24.1.1.概述¶

Turtle graphics is a popular way for introducing programming to kids. It was

part of the original Logo programming language developed by Wally Feurzig and

Seymour Papert in 1966.

请想象绘图区有一只机器海龟,起始位置在 x-y 平面的 (0, 0) 点。先执行 import turtle,再执行 turtle.forward(15),它将(在屏幕上)朝所面对的 x 轴正方向前进 15 像素,随着它的移动画出一条线段。再执行 turtle.right(25),它将原地右转 25 度。

Turtle star

使用海龟绘图可以编写重复执行简单动作的程序画出精细复杂的形状。

from turtle import *

color('red', 'yellow')

begin_fill()

while True:

forward(200)

left(170)

if abs(pos()) < 1:

break

end_fill()

done()

通过组合使用此类命令,可以轻松地绘制出精美的形状和图案。

turtle 模块是基于 Python 标准发行版 2.5 以来的同名模块重新编写并进行了功能扩展。

新模块尽量保持了原模块的特点,并且(几乎)100%与其兼容。这就意味着初学编程者能够以交互方式使用模块的所有命令、类和方法——运行 IDLE 时注意加 -n 参数。

turtle 模块提供面向对象和面向过程两种形式的海龟绘图基本组件。由于它使用 tkinter 实现基本图形界面,因此需要安装了 Tk 支持的 Python 版本。

面向对象的接口主要使用“2+2”个类:

TurtleScreen 类定义图形窗口作为绘图海龟的运动场。它的构造器需要一个 tkinter.Canvas 或 ScrolledCanvas 作为参数。应在 turtle 作为某个程序的一部分的时候使用。

Screen() 函数返回一个 TurtleScreen 子类的单例对象。此函数应在 turtle 作为独立绘图工具时使用。作为一个单例对象,其所属的类是不可被继承的。

TurtleScreen/Screen 的所有方法还存在对应的函数,即作为面向过程的接口组成部分。

RawTurtle (别名: RawPen) 类定义海龟对象在 TurtleScreen 上绘图。它的构造器需要一个 Canvas, ScrolledCanvas 或 TurtleScreen 作为参数,以指定 RawTurtle 对象在哪里绘图。

从 RawTurtle 派生出子类 Turtle (别名: Pen),该类对象在 Screen 实例上绘图,如果实例不存在则会自动创建。

RawTurtle/Turtle 的所有方法也存在对应的函数,即作为面向过程的接口组成部分。

过程式接口提供与 Screen 和 Turtle 类的方法相对应的函数。函数名与对应的方法名相同。当 Screen 类的方法对应函数被调用时会自动创建一个 Screen 对象。当 Turtle 类的方法对应函数被调用时会自动创建一个 (匿名的) Turtle 对象。

如果屏幕上需要有多个海龟,就必须使用面向对象的接口。

注解

以下文档给出了函数的参数列表。对于方法来说当然还有额外的第一个参数 self,这里省略了。

python turtle画海绵宝宝_24.1. turtle — 海龟绘图 — Python 3.6.12 文档相关推荐

  1. 用python函数画德国国旗代码_python海龟绘图之画国旗实例代码

    画之前肯定要知道规格图,我找了一个大致的图. 参考图片: 绘制大星的方法很简单,五角星的补角是144度. 绘制小五角星有点麻烦,因为我国国旗上的小五角星并不是平放的(美帝曾经这样把我们的国旗搞错过), ...

  2. 计算机毕业设计Python+django 宠物领养中心小程序(源码+系统+mysql数据库+Lw文档)

    项目介绍 据世界动物保护协会统计,全世界大概有5亿只流浪狗和散养的狗和大致同样数量的流浪猫,而这些主要源于主人的弃养.同时,在很多地区,狗和猫都处于散养状态,这部分的动物,也经常会变成流浪动物.猫和狗 ...

  3. 计算机毕业设计Python+django的零食销售商城网站(源码+系统+mysql数据库+Lw文档)

    项目介绍 ​随着人们生活条件的改善,人们对生活的追求也越来越高.在闲暇之时品尝上美味的零食,是当前很多人的一个休闲方式.当前临时市场鱼目混杂,种类繁多很多消费者不知道如何去选购更加美味可口的零食.尤其 ...

  4. 基于python摄影作品展示网站django框架计算机毕业设计源码+系统+数据库+lw文档+调试部署

    基于python摄影作品展示网站django框架计算机毕业设计源码+系统+数据库+lw文档+调试部署 基于python摄影作品展示网站django框架计算机毕业设计源码+系统+数据库+lw文档+调试部 ...

  5. python canvas画弧度_只要十分钟,python绘图神器turtle了解一下?

    python的强大在于它有许多的强大的库,turtle就是其中之一. 利用turtle,你可以进行交互式的绘画,作为一个艺术白痴,想要画一幅画可能很困难,但是利用python的turtle库,只需要几 ...

  6. python turtle 画老鼠_通过Turtle库在Python中绘制一个鼠年福鼠

    turtle库是一个很经典的绘图库,其最初来自于1967年创造的logo编程语言,之后被Python编写放到了Python的内置模块中.网络上有很多借助于turtle绘制精美图像的案例.比如小猪佩奇. ...

  7. python中turtle画笑脸_基于turtle的Python作画

    2018年6月12日笔记 按win+q键换出搜索界面,输入path,进入系统属性,选择高级,选择环境变量.在系统变量中的PATHEXT这个变量中文本内容为.COM;.EXE;.BAT;.CMD;.VB ...

  8. python中turtle画老虎_通过Turtle库在Python中绘制一个鼠年福鼠

    turtle库是一个很经典的绘图库,其最初来自于1967年创造的logo编程语言,之后被Python编写放到了Python的内置模块中.网络上有很多借助于turtle绘制精美图像的案例.比如小猪佩奇. ...

  9. python小人画爱心_Python使用turtle库画一个爱心构成的爱心

    基本环境配置版本:Python3 系统:Windows 相关模块:turtle 实现效果图 完整代码 #!/usr/bin/env python # coding:utf-8 from turtle ...

最新文章

  1. swing中怎么在原来图片的基础上切换第二张图片_狂戳痛点!毕业论文图片和公式排版!...
  2. 可变参数中size_t遇见的问题
  3. 使用WebRTC开发Android Messenger:第1部分
  4. 什么样的代码是好代码_什么是好代码?
  5. 白山云科技 CTO 童剑:空降后,如何有技术又有艺术地破局?
  6. matlab randomsample,randperm和randsample函数用法对比
  7. 青岛Uber优步司机奖励政策(9月14日~9月20日)
  8. mysql映射表_MySQL报错找不到问题?可能是你的SQL用了关键字
  9. 【转】Boost库概述
  10. CarSim仿真快速入门(十四)—CarSim-Simulink联合仿真
  11. 机械键盘win键和alt键反了
  12. android模拟器不玩游戏,安卓模拟器哪个玩游戏最流畅?
  13. 无穷无穷小的逻辑相容性小的逻辑相容性
  14. This beta version of Typora is expired, please download and install a newer version. 解决方案
  15. incorrect integer value for column 问题解决
  16. 完美者u盘linux,完美者u盘维护系统v10.2 完整终结版_完美者u盘维护系统2017官方下载|好特下载...
  17. python中坐标系的方向_使用python计算径向角度,顺时针/逆时针方向,给定像素坐标(反之亦然)...
  18. 中英混串转拼音 源码
  19. Visual Studio的sln文件解析
  20. 以太坊智能合约是什么?

热门文章

  1. MySql遇到字段中有空格
  2. 云炬随笔20211012(1)
  3. 云炬Android开发报错处理教程 解决Android Studio kotlin等依赖下载慢,下载超时失败的问题
  4. python数据结构 树_python数据结构之二叉树的统计与转换实例
  5. VTK修炼之道59:图形基本操作进阶_纹理映射
  6. VTK修炼之道57:图形基本操作进阶_点云配准技术(LandMark标记点算法和坐标系显示方法)
  7. PIC单片机入门_MPLAB 集成开发环境和 MPASM编译器
  8. BugkuCTF-Misc:多种方法解决
  9. sizeof(函数名)=?
  10. Redis 五种数据结构以及三种高级数据结构解析以及使用