跟小海龟学Python

978-7-115-58369-7
作者: 童晶童雨涵
译者:
编辑: 吴晋瑜
分类: Python

图书目录:

详情

针对 Python 的特点和初学者的需求,本书将 turtle 库应用于 Python 编程教学中, 引导读者在趣味横生的开发过程中学习编程语言。 全书包括初级篇、中级篇和高级篇三部分内容,按照“边学边做”的方式,带领读 者从零开始学习 Python 基础语法,在实现趣味案例的过程中对所学知识加以实践,以 帮助读者掌握本书所涵盖的知识点,并能真正运用到自己的项目开发中去。 本书提供了丰富的案例,涉及绘制几何图案、错觉艺术、分形图形、互动程序、趣 味游戏等多个领域,以期有效提升读者的学习兴趣。 本书适合对编程感兴趣,特别是首次接触编程的人,也适合学过其他编程语言、想 快速学习 Python 的人,还可以作为教材供教学或自学使用。

图书摘要

版权信息

书名:跟小海龟学Python

ISBN:978-7-115-58369-7

本书由人民邮电出版社发行数字版。版权所有,侵权必究。

您购买的人民邮电出版社电子书仅供您个人使用,未经授权,不得以任何方式复制和传播本书内容。

我们愿意相信读者具有这样的良知和觉悟,与我们共同保护知识产权。

如果购买者有侵权行为,我们可能对该用户实施包括但不限于关闭该帐号等维权措施,并可能追究法律责任。

版  权

著    童 晶 童雨涵

责任编辑 吴晋瑜

人民邮电出版社出版发行  北京市丰台区成寿寺路11号

邮编 100164  电子邮件 315@ptpress.com.cn

网址 http://www.ptpress.com.cn

读者服务热线:(010)81055410

反盗版热线:(010)81055315

读者服务:

微信扫码关注【异步社区】微信公众号,回复“e58369”获取本书配套资源以及异步社区15天VIP会员卡,近千本电子书免费畅读。

内容提要

本书按语法知识和实现案例的难度分为初级篇、中级篇和高级篇。初级篇从零基础开始,把Python基础语法揉合到案例的开发中,引导读者用学到的知识绘制各种图形。中级篇部分旨在教读者绘制更复杂的图形,学习绝对坐标系的方法,以方便准确定位;教读者处理复杂的任务,学习函数封装的方法,把问题分块处理,降低程序设计的复杂度;学习函数递归调用,以绘制美丽的分形图案。高级篇旨在教读者学习海龟绘图库的高阶功能,让图形动起来,并实现与鼠标的交互;最后通过开发趣味游戏,让读者掌握面向对象的方法,进一步降低复杂程序的开发难度。

前  言

写作目的和背景

在众多的文本类编程语言中,Python因具有简单易学、功能强大、应用广泛等特点,越来越得到初学者的青睐。而对于Python的入门学习,不得不提的就是turtle(海龟)库,用户通过代码控制一只小海龟在屏幕上爬行,可以绘制出各种精美的形状和图案。简单便捷的图形化方法、即时反馈的绘图效果使海龟绘图成为很多编程入门者的首选。

turtle库源于1968年诞生的LOGO编程语言——也是世界上第一款针对儿童教学使用的编程语言。多年前,LOGO之父西蒙·派珀特就提出了“低地板”和“高天花板”的原则。“低地板”是指给新手简单容易上手的起点,“高天花板”是指学习过程循序渐进,最后能达到一个很高的水平。

然而,即便利用turtle库,目前大部分Python图书却仍然有“高地板”“低天花板”的问题。很多图书会先系统讲解语法知识,知识量大,导致读者学习困难;所举实例一般偏数学算法,过于抽象、枯燥,导致读者不感兴趣。即便讲到turtle库的相关教程一般也先系统讲解坐标系、画笔设置、绘制函数等内容,再介绍实例,导致初学者入门困难。另外,大部分图书使用turtle库还局限在绘制一些简单的静止图案,难以绘制复杂的图形,更不用说实现动态图形、开发互动游戏了。

针对上述问题,本书把turtle库应用于Python编程教学,带领读者从零基础开始学习。书中不安排专门章节讲解Python语法和turtle库的知识,而是在趣味案例的开发过程中,通过案例逐步介绍新的知识,便于读者理解,并在实际应用中体会。书中案例涉及绘制几何图案、错觉艺术、分形图形、互动程序、趣味游戏等多个领域,可有效提升读者的学习兴趣。另外,本书提供了大量练习题,帮助读者在学习编程的同时锻炼逻辑思维,提升认识问题、解决问题的能力。

本书希望能够真正践行西蒙·派珀特、米切尔·雷斯尼克等先驱提出的教育理念,为读者提供“低地板”入门、“高天花板”挑战、“宽墙壁”发挥空间的学习路线。下面就请大家打开计算机,边看边练,体会Python编程带来的乐趣吧!

主要内容

本书共35章,按语法知识和实现案例的难度分为初级篇、中级篇和高级篇。

第1章到第22章为初级篇,旨在带领读者从零基础开始,一边学习Python基础语法,一边把学到的知识用于绘制各种各样的图形。主要内容包括常量变量、算术运算符、逻辑运算符、if选择语句、for循环语句、列表等Python基础语法知识,以及前进后退、左转右转、抬笔落笔、设置颜色等turtle库的基础绘制功能。

第23章到第30章为中级篇。要绘制更复杂的图形,需要掌握绝对坐标系,以方便准确定位;要处理复杂的任务,需要掌握函数封装的方法,以把问题分块处理,降低程序设计的复杂度;要绘制美丽的分形图案,需要掌握函数递归调用的方法。本篇将介绍与这些知识相关的内容。

第31章到第35章为高级篇。这一部分介绍turtle库的高阶功能,旨在帮助读者让图形运动起来,并可与鼠标指针交互。要开发趣味游戏,读者还需要掌握面向对象的方法,以进一步降低复杂程序的开发难度。

使用方法

本书每章案例会分成多个步骤,逐步引入新的Python语法和turtle库的知识,从零开始一步一步实现。读者可以参考书中的讲解思路,先自己尝试编写下一个步骤的代码,如果遇到困难,可以参考配套资源中的范例程序。

对于正文中没有涉及的部分语法知识,附录A予以补充。读者也可以利用附录B,快速查找某一语法知识在书中出现的章节。对于每章语法知识、绘图案例的讲解后的练习题,读者可以先自己实践,再参考配套资源中给出的答案。

本书为读者提供配套资源,包括案例代码、练习参考答案、图片素材、演示视频,可以在线下载。

读者对象

本书适合任何对编程感兴趣,特别是首次接触编程的人,也适合学过其他编程语言、想快速学习Python的人。此外,本书可以作为学习程序设计的教材或参考教材,也可以作为编程爱好者的自学用书。

10岁的孩子可以独立阅读本书的初级篇,再在家长陪同下学习本书的中级篇和高级篇。

资源与支持

本书由异步社区出品,社区(https://www.epubit.com/)为您提供相关资源和后续服务。

配套资源

本书提供以下资源:

配套资源代码和素材;

书中习题答案;

书中彩图文件。

要获得以上配套资源,请在异步社区本书页面中点击,跳转到下载界面,按提示进行操作即可。注意:为保证购书读者的权益,该操作会给出相关提示,要求输入提取码进行验证。

如果您是教师,希望获得教学配套资源,请在社区本书页面中直接联系本书的责任编辑。

您还可以扫码右侧二维码, 关注【异步社区】微信公众号,回复“e58369”直接获取,同时可以获得异步社区15天VIP会员卡,近千本电子书免费畅读。

提交勘误

作者和编辑尽最大努力来确保书中内容的准确性,但难免会存在疏漏。欢迎您将发现的问题反馈给我们,帮助我们提升图书的质量。

当您发现错误时,请登录异步社区,按书名搜索,进入本书页面,点击“提交勘误”,输入勘误信息,点击“提交”按钮即可。本书的作者和编辑会对您提交的勘误进行审核,确认并接受后,您将获赠异步社区的100积分。积分可用于在异步社区兑换优惠券、样书或奖品。

扫码关注本书

扫描下方二维码,您将会在异步社区微信服务号中看到本书信息及相关的服务提示。

与我们联系

我们的联系邮箱是contact@epubit.com.cn。

如果您对本书有任何疑问或建议,请您发邮件给我们,并请在邮件标题中注明本书书名,以便我们更高效地做出反馈。

如果您有兴趣出版图书、录制教学视频,或者参与图书翻译、技术审校等工作,可以发邮件给我们;有意出版图书的作者也可以到异步社区在线提交投稿(直接访问www.epubit.com/selfpublish/submission即可)。

如果您是学校、培训机构或企业,想批量购买本书或异步社区出版的其他图书,也可以发邮件给我们。

如果您在网上发现有针对异步社区出品图书的各种形式的盗版行为,包括对图书全部或部分内容的非授权传播,请您将怀疑有侵权行为的链接发邮件给我们。您的这一举动是对作者权益的保护,也是我们持续为您提供有价值的内容的动力之源。

关于异步社区和异步图书

“异步社区”是人民邮电出版社旗下IT专业图书社区,致力于出版精品IT技术图书和相关学习产品,为作译者提供优质出版服务。异步社区创办于2015年8月,提供大量精品IT技术图书和电子书,以及高品质技术文章和视频课程。更多详情请访问异步社区官网https://www.epubit.com。

“异步图书”是由异步社区编辑团队策划出版的精品IT专业图书的品牌,依托于人民邮电出版社近30年的计算机图书出版积累和专业编辑团队,相关图书在封面上印有异步图书的LOGO。异步图书的出版领域包括软件开发、大数据、AI、测试、前端、网络技术等。

异步社区

微信服务号

初级篇

什么是Python?什么是海龟绘图?作为初学者的你对此肯定一头雾水吧。不过不用担心,本书会带着你从零开始,一边学习Python基础语法,一边绘制各种各样的图形。现炒现卖、现学现用,保证你不会觉得枯燥无聊。

初级篇共22章,主要介绍Python基础语法知识,包括常量与变量的概念、算术运算符、逻辑运算符、if选择语句、for循环语句、列表等内容。你将用到turtle库的基础绘制功能,包括forward(前进)、backward(后退)、right(向右转)、left(向左转)、penup(抬笔)、pendown(落笔)、color(设置颜色)等。

第1章 世界你好

1.1 什么是Python

Python是一种计算机编程语言。使用Python编写相关的程序,可以给计算机下达一系列指令,完成人们特定的要求。

和其他编程语言相比,Python语法简单、上手容易。另外,Python的功能也非常强大,可以广泛应用于人工智能、数据分析、游戏开发、数字化艺术等领域。

1.2 Python在线开发环境

要让计算机读懂Python程序,需用使用专门的开发环境。你可以在搜索引擎中查找“海龟编辑器”来进入在线开发环境的网站,如图1-1所示。

图1-1

选择“文件”→“模板作品”,可以看到很多Python作品,如图1-2所示。

图1-2

选择“分形樱花树”,单击“运行”按钮,程序就会自动绘制出一棵美丽的樱花树,如图1-3所示。

图1-3

默认情况下,海龟编辑器使用积木模式,单击“代码模式”,可以切换为文本代码的形式,如图1-4所示。

图1-4

现在看图1-4中的代码,你会不会感觉像在看天书?不要着急,跟着我们的讲解,你会逐渐掌握相应的知识,并最终能运用所学知识绘制出属于你自己的分形树。

1.3 Python离线开发环境

我们还可以使用离线的代码编辑器,不用上网就能创建、编写、运行和修改Python程序。单击图1-4网页左上角的“小房子”图标,你就可以在图1-5所示的界面中下载对应的客户端安装软件。

图1-5

双击所下载的文件,你会看到正在安装的窗口出现在界面中,请耐心等待安装完成。完成后在桌面双击“海龟编辑器”图标,打开默认为“积木模式”的界面,如图1-6所示。

图1-6

单击右上角的“代码模式”进行切换,得到图1-7所示的界面。

图1-7

在代码编辑区中输入如下代码:

1-3.py

1   print('世界你好')

英文单词print的意思是“打印”,这里表示输出;两个单引号之间包含一段文字,称为字符串。print()函数可以输出括号内字符串的内容。单击右下角的“运行”按钮,可以在下方控制台中看到程序输出结果,如图1-8 所示。

图1-8

Python语句中的标点符号,比如括号、单引号都需要是英文标点符号。如果输入的是中文标点符号,对应的代码段会变成红色(见图1-9),控制台下面的提示语句会出现错误提示。

图1-9

选择“文件”→“另存为”,就可以将代码文件保存为1-3.py。文件扩展名py为Python的缩写,表示当前文件为Python代码文件。直接双击打开.py文件,系统会自动调用代码编辑器打开代码。

你也可以登录Python官网下载安装官方集成开发环境,如图1-10所示,在其Python编辑器中也可以运行书中的代码。

你还可以试用一下Mu这款对初学者较友好的Python集成开发环境。搜索“Code with Mu: A Simple Python Editor”,找到Mu的下载网页,如图1-11所示。

在Mu中,代码编辑和运行效果如图1-12所示。

图1-10

图1-11

图1-12

【练习1-1】尝试修改代码,使运行后的程序输出如下结果:

1.4 小结

本章主要介绍Python编程语言的基本概念,以及在线和离线代码编辑器的使用方法。利用print(),我们可以输出字符串的内容。你也可以尝试运行代码编辑器的其他模板作品,初步体会Python的神奇。

读者服务:

微信扫码关注【异步社区】微信公众号,回复“e58369”获取本书配套资源以及异步社区15天VIP会员卡,近千本电子书免费畅读。

第2章 绘制线段

2.1 显示海龟

打开代码编辑器,输入并运行以下3行代码:

2-1.py

1   from turtle import *
2   shape('turtle')
3   done()

弹出的程序窗口中间显示出一个海龟的形状,如图2-1所示。

其中turtle是海龟的英文单词,from turtle import *表示导入turtle库的所有功能,其后代码就可以在窗口中绘制图形了。

shape意为“形状”,shape( 'turtle' )设定画笔形状为海龟,程序运行后画面中心出现了一只头朝右的小海龟。注意圆括号、单引号都必须是英文标点符号,'turtle'为字符串。

图2-1

done()表示绘图结束,此时就可以观察绘制的最终效果了。

2.2 海龟前进

在2-1.py基础上添加一行代码,就像下面这样:

2-2-1.py

1   from turtle import *
2   shape('turtle')
3   forward(100)
4   done()

运行后会发现,小海龟从画面正中间向右运动了一段距离,并留下了一条直线段,如图2-2所示。

图2-2

forward意为“前进”。forward(100)表示海龟沿着当前的爬行方向前进100个像素。运动后,留下了长度为100像素的直线段。

'turtle'、100这种在程序中值固定的量,也称为常量。print()函数除了可以输出字符串常量,也可以输出整数常量。输入并运行以下代码:

2-2-2.py

1   print('Python可以处理字符串和整数')
2   print(12345)

运行后在控制台输出:

为了绘制长度为200像素的线段,我们可以执行两次forward(100)语句:

2-2-3.py

1   from turtle import *
2   shape('turtle')
3   forward(100)
4   forward(100)
5   done()

运行上述代码,效果如图2-3所示。

图2-3

【练习2-1】利用一个forward()语句,绘制出长度为300像素的线段,效果如图2-4所示。

图2-4

2.3 小结

本章主要介绍了导入turtle库、让海龟前进的语句。利用Python中的整数常量,你就可以绘制出特定长度的线段。

读者服务:

微信扫码关注【异步社区】微信公众号,回复“e58369”获取本书配套资源以及异步社区15天VIP会员卡,近千本电子书免费畅读。

中级篇

当要绘制的图形越来越复杂时,使用基于相对坐标系的forward()、backward()、right()、left()较难准确定位,我们可以结合基于绝对坐标系的goto(x,y)和setheading(angle) 方法。

我们可以把问题分为功能相对独立的块,每一块用一个独立的函数来实现。用好函数可以降低程序设计的复杂度、提高代码的可靠性、避免程序开发的重复劳动、便于程序维护和功能扩充。

中级篇共8章,主要组合应用绝对坐标系、函数封装来绘制更加复杂的图形。这部分还介绍使用turtle库绘制空心圆、填充等内容,同时还学习了函数递归调用和随机的概念。

高级篇

学到这里,你会不会对绘制静止图案有点厌倦了?在高级篇,我们会让绘制的图形运动起来!一旦图形动起来,就可以实现反弹球,甚至可以开发见缝插针、飞翔的小鸟等趣味游戏!

高级篇共5章。我们首先学习while循环语句,结合海龟绘图的清屏功能,实现反弹的小球。为了开发复杂的游戏,高级篇也介绍了面向对象的知识,把函数和数据封装在一起,进一步降低程序的开发难度。

相关图书

深度学习的数学——使用Python语言
深度学习的数学——使用Python语言
动手学自然语言处理
动手学自然语言处理
Web应用安全
Web应用安全
Python高性能编程(第2版)
Python高性能编程(第2版)
图像处理与计算机视觉实践——基于OpenCV和Python
图像处理与计算机视觉实践——基于OpenCV和Python
Python数据科学实战
Python数据科学实战

相关文章

相关课程