Python-Turtle库-从入门到精通

Introduction

在本教程中,你将会学习到以下内容:

  • 了解什么是Python的turtle库
  • 学习如何在本机配置turtle库
  • 利用turtle库进行编程
  • 掌握常用的turtle库指令
  • 基于turtle库开发一个小demo

本教程来源于Real Python,一个风趣幽默的Python学习社区,强烈推荐大家关注。

What’s the turtle library?

turtle是一个预安装的Python库,它允许用户通过提供的虚拟画布来创建图片和形状。其中,用于屏幕上绘图的笔叫做海龟笔,这便是该库名称的由来。简而言之,Python海龟库可以帮助新程序员以一种有趣和交互式的方式感受用Python编程是什么样子的。

使用海龟库,人们可以绘制和创建各种类型的形状和图像。

Bing Dwen Dwen

这似乎看起来很酷,对吧?其实这仅是Python海龟库可以绘制的众多不同图像之一,大多数开发人员使用海龟库来绘制形状、创建设计和制作图像。此外,还可以用于创建迷你游戏和动画。

Getting Started With turtle

在正式开始之前,我们需要预先配置和安装Python环境,教程如下。

Python编程入门之环境搭建

在开始Python编程之前,大家需要了解什么是。在现实世界中,图书馆是一个储存不同类型书籍的地方。你可以在任何时候访问这些书,并从中获取任何你需要的信息,随后再将它们归还到同一个地方。

在计算机世界中,库的工作原理与此类似。根据定义,库是一组重要的函数和方法,您可以通过访问这些函数和方法来简化编程。例如,Python内置的海龟库中便包含了创建映像所需的所有方法和函数。要访问Python库之前,我们可以利用Python内置的关键字import将其导入到本地的Python环境中。

import turtle

是不是非常简洁?更多关键字信息感兴趣的可以进入此文了解。

Python编程入门之内建函数

Turtle是一个图形库,这意味着我们需要创建一个单独的窗口(屏幕)来执行每个绘图命令。这里,我们可以通过为它初始化一个变量来创建这个屏幕。

在Python中,变量可以用来存储程序中使用的信息。在为变量赋值时初始化变量。不同于常量,变量可以在程序执行期间多次更改。

现在,让我们正式开始海龟绘画!首先,你需要按以下方法为它初始化一个变量:

s = turtle.getscreen()

不出意外的话,你应该会看到一个单独的窗口打开。

turtle.getscreen()

这个窗口便是绘画屏幕,在这里可以查看代码的输出,屏幕中间的黑色小三角形便叫做turtle,后续的所有操作几乎都是靠它实现。

注意:请记住,当我们为变量命名时,需要选择一个任何正在查看你所编写程序的人都能容易理解的名称。但是,您还必须选择一个便于使用的名称,特别是那些需要我们在整个程序中经常调用它的变量名称!

例如,选择像 my_turtle_screen_name 这样的名称将是冗长乏味的,而像Joe或a这样的名称将显得非常随意。使用单个字母字符,比如本例中的s,可能会更合适,因为它简短易记,s指的是屏幕(screen)。

接下来,初始化变量t。其中Turtle()turtle库所封装的一个类,提供了许多有用的接口,这里我们对其进行实例化。

t = turtle.Turtle()

就像屏幕一样,您也可以给这个变量另一个名称,如a或Jane,甚至my_turtle,但在本教程中,我们采用字母t代替。

现在我们已经具备了一块屏幕和一只海龟画笔。想象一下,屏幕好比是一块画布,而海龟就是一支笔,我们可以让海龟在屏幕上移动。此处的海龟拥有一些可变的特征,如画笔粗细、颜色和移动速度。它总是指向一个特定的方向,并且会朝我们所指定的方向移动:

  • 当画笔向上时,意味着当它移动时没有线会被画出来。
  • 当画笔向下时,意味着当它移动时会画出一条线出来。

在下一节中,我们将继续探索使用海龟库进行编程的不同方法。

giphy

Programming With turtle

在使用Python海龟库进行编程时,我们将首先学习的第一件事是如何让海龟按照期望的方向进行移动。接下来,我们将学习如何自定义海龟及其环境。最后,你将学习到一些可以执行一些特殊任务的增强型命令。

Moving the Turtle

海龟笔可以朝四个方向移动,对应的编程指令对应如下:

指令              编程                 等价缩写
-------------------------------------------
前进(Forward)  —— t.right(dist)    —— t.rt(dist)
后退(Backward) —— t.forward(dist)  —— t.fd(dist) 
向左(Left)     —— t.left(dist)     —— t.lt(dist)
向右(Right)    —— t.backward(dist) —— t.bk(dist)

这里dist指的是移动距离(distance).

我们还可以从当前位置到屏幕上的任何其他任意位置画一条线:

coordinates

如上所示,屏幕分为四个象限。海龟在程序开始时的初始位置为(0,0),这里定义为原点。当我们要将海龟移动到屏幕上的任何其他区域,我们可以使用t.goto(x, y)进行移动,如:

t.goto(100,100)

此时,如果我们想要回到原点,只需输入t.home()即可,当然你也可以直接以坐标的形式输入t.goto(0, 0).

Drawing a Shape

上一小节,我们学会了如何控制海龟前进,下面将教大家绘制实际的形状样式。首先,我们先从一个简单的多边形入手。可以思考一下,一个多边形主要由什么组成?没错,多边形是由多条边和角度所构成,假设我们输入以下的代码:

t.fd(100)
t.rt(90)
t.fd(100)
t.rt(90)
t.fd(100)
t.rt(90)
t.fd(100)

那么,我们便能画出一个简单的正方形出来,大家可以逐行理解下。

polygons

Well done! 我们刚刚成功画了一个正方形,虽然还比较基础,但是举一反三,通过这种方式,我们可以利用海龟来创建不同的形状和图像。

现在,尝试使用这段代码作为模板绘制一个矩形。记住,在矩形中,四条边不相等,所以需要你相应地修改代码。一旦你掌握了海龟的绘画技巧,你甚至可以尝试通过增加边的数量和改变角度来创建更多的形状。

Drawing Preset Figures

假设你想画一个圆,如果你试图用同样的方法画它就像你画正方形一样,那么这将是非常乏味的,你将不得不花很多时间仅仅为了得到一个圆的形状。值得庆幸的是,海龟库为此提供了一个解决方案t.circle(radius)

t.circle(60)

括号内的数字是圆的半径,我们可以通过改变圆的半径值来改变圆的大小。基于类似的方法t.dot(radius),我们也可以画出一个点,它只是一个经过填充的圆:

t.dot(20)

到目前为止,我们已经学习了如何移动海龟,并使用它创建不同的形状。在接下来的几节中,我们将了解到如何根据特定的需求定制属于你自己的图案。

Changing the Screen Color

默认情况下,turtle总是打开一个白色背景的屏幕。但是,你可以用下面的命令随时改变屏幕的颜色:

turtle.bgcolor("blue")

你可以用其他颜色代替blue,例如试试greenred,我们会得到如上的结果。你可以为你的屏幕使用各种颜色,只需要输入相应的十六进制码即可,如#285078。要了解关于使用不同颜色的更多信息,请查看Python-turtle库对应的官方文档

Changing the Screen Title

有时,我们可能想要更改屏幕的标题,这样可以让它更个性化。你可以使用下面的命令改变屏幕的标题:

turtle.title("My Turtle Program")

通过这种方式,我们便可以根据自己的喜好随意更改屏幕标题。

Changing the Turtle Size

除了改变画笔的颜色和屏幕标题外,我们还可以增加或减少屏幕上海龟的大小。注意,这只会改变形状的大小,而不会影响海龟在屏幕上绘制时的输出。尝试输入以下命令:


                
  • 18
    点赞
  • 99
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值