少儿编程之旅 趣学Python

978-7-115-53558-0
作者: 张霞刘颖
译者:
编辑: 张爽

图书目录:

详情

本书分为6章,系统全面地介绍了Python语言的基础语法、基本数据类型与组合数据类型。基本数据类型包括整数、浮点数、字符串、布尔值和空值;组合数据类型包括序列类型(字符串、列表和元组)、字典类型和集合类型。 本书包括IT行业的14个故事与话题,例如伊莉莎程序、身份证的数字化、计算机加密算法等;设计了110个案例,例如猜数游戏、绘制小花朵、计算机造句等;列举了4个算法分析的案例,分别是凯撒加密法、换位加密法、英文小说的词频统计以及字典加密器。

图书摘要

版权信息

书名:少儿编程之旅:趣学Python

ISBN:978-7-115-53558-0

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

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

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

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


著    张 霞  刘 颖

责任编辑 张 爽

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

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

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

读者服务热线:(010)81055410

反盗版热线:(010)81055315


本书分为6章,系统全面地介绍了Python语言的基础语法、基本数据类型与组合数据类型。基本数据类型包括整数、浮点数、字符串、布尔值和空值;组合数据类型包括序列类型(字符串、列表和元组)、字典类型和集合类型。

本书包括IT行业的14个故事与话题,例如伊莉莎程序、身份证的数字化、计算机加密算法等;设计了110个案例,例如猜数游戏、绘制小花朵、计算机造句等;列举了4个算法分析的案例,分别是凯撒加密法、换位加密法、英文小说的词频统计以及字典加密器。

本书案例浅显易懂,适合零基础入门Python编程的读者,尤其是青少年和儿童。


今天,我们正处在智能化的时代。

大部分人对于人工智能的认识是从阿尔法狗(AlphaGo)开始的。2016年,谷歌的一款围棋程序AlphaGo以4∶1的压倒性优势战胜了围棋世界冠军李世石,使得“人工智能”一词成为热门话题。报道中有一个细节:AlphaGo在输给李世石一局后,在短时间内通过自我剖析下了十万盘棋,接下来的棋局都是AlphaGo获胜。

今年春节,我驾车带着家人从深圳回老家探亲和旅游,仅单程就有1200公里,但在智能导航的指引下,我们很顺利地完成了行程。这只是我们看得到的人工智能应用之一,实际上,人工智能和大数据的应用已经渗透到日常生活,比如面部识别、智能语音系统等。

未来,不仅生活方式会因人工智能而变化,还将会有大批职业因人工智能而消失,当然也会有全新的工作岗位因人工智能而诞生。我们每个人,尤其是年轻人,不仅要接受和适应人工智能带来的生活方式和工作方式上的改变,有条件的人更要积极主动地参与到这个技术潮流中。

人工智能(AI)、大数据(Big Data)、云计算(Cloud Computing)和区块链(DLT)被合称为ABCD四大新锐技术,这些新技术无不与计算机编程密切相关。面对复杂的功能性和紧迫的迭代周期,计算机需要更高抽象级别的语言来表达可编程性,Python 语言很好地顺应了这个需求。

Python是程序设计语言领域近20年来最重要的成果之一,是国际上最流行的程序设计语言。Python语言是少有的一种可以称得上既简单,又功能强大的编程语言。

我和本书作者张霞认识有十余年的时间,我们都有学习的习惯,喜欢研究和探索。我们可以从IT发展谈到教书育人,总是有许多共同的话题。她从事软件开发和项目管理十余年,从事计算机编程教学近15年,一直跟随时代的步伐,不断学习和更新知识。

少儿接受能力强,从小打下编程的童子功,将更有利于适应未来社会,这也是作者编写本书的初衷。作者结合自己的教学经验,在编写大学Python教材之余,为本书投入了大量的时间和精力,挑选的案例也都围绕“趣”字展开,简单且与生活息息相关,从通俗易懂的角度,将每一种数据类型都清晰而生动地讲解到位。

本书完整地呈现了Python语言程序设计基础,可以帮助孩子们掌握Python编程的基础知识,培养程序员思维,这是一本非常好的编程书。

华为高级工程师

2019年4月20日


几年前,刚读初一的儿子兴奋地告诉我,学校开设了C++编程课,但过了没多久,他就很沮丧地表示学不懂。我知道每门程序设计语言的难度,尤其是当下流行的几门程序设计语言,于是我试着给他和他的小伙伴讲了两堂编程基础课,内容主要是输入/输出和声音控制。几个孩子学习后很有兴趣,写了不少短小的恶作剧程序,不时地安装到教室的计算机中,搞得开机就会出现无数个问候语之类烦人的状况。这种恶趣味持续了大半年才过去,但从此孩子们喜欢上了编程,并在此后陆续学习了数门编程语言。

让孩子爱上编程和让孩子畏惧编程,哪一种状况更好是显而易见的。很多孩子对计算机软件编程满怀兴趣,可是该如何入手?大学生的教材显然不适合孩子们使用,给工程师看的编程书更不适合,懂编程的家长数量也不够多,教儿子学编程的经历让我萌生了写一本适合孩子们用的编程书的念头。

2014年,我的部门来了一位年轻老师—李粤平博士,他毕业于中山大学。他很看好Python程序设计语言,我便去他的课堂学习Python。经过数年的学习和教学研究,我越来越喜欢Python语言。经过近年来的蓬勃发展,Python程序设计的各类教材层出不穷,但是和Java等编程语言一样,少有适合少儿的图书。

寒假前夕,热衷儿童教育的刘颖老师鼓动我一起写一本面向少儿的Python语言教程。少儿和大学生以及社会人员相比,编程基础的差距是巨大的,但同时,少儿的求知欲很旺盛。要让简单的知识不枯燥,让没有编程体验的人打牢基础,是一件需要综合考量的事情。

俗话说,“基础不牢,地动山摇”。作为一名教师,我深刻体会到基础的重要性。中国孩子的优势在于童子功很扎实,阅读能力强。在计算机的教学中,传授给他们合适的教学内容,打下坚实的基础,是一件很有意义的事情。

在教学中,我经常会用项目来驱动知识,用具体案例把常用的高频知识点展示给学生,指导学生查阅帮助文档,效果很好。针对少儿的特点,本书也采用这个方法,为此我们查阅了大量的网络教程和教学书籍,花费了数月时间整理案例。

此外,作为计算机编程的入门书,让孩子们了解一点IT行业的历史是有必要的。因此我们结合案例教学,收集了14个故事与话题:伊莉莎程序(人工智能开山发明之一)、计算机密码、随机数、身份证的数字化、一切皆可运算、凯撒加密法、韩信点兵、计算机模拟、计算机加密算法、Python标准库、分形几何学、键值对与数据结构、算法与图灵奖,以及大受欢迎的第三方库等。

设计一本适合少儿的编程语言书,对于我来说是一个挑战,希望我的努力能够帮助到对编程有兴趣的孩子。

本书虽是为少儿量身定做,但也适合成人初学者,以及任何想要学习Python编程的人。希望Python成为读者“终身受用的编程语言”。

本书共分为6章,每章内容如下。

第1章,打开编程之门:主要介绍Python语言的诞生、如何安装与使用Python软件,以及如何输入和运行程序。

第2章,有趣的人机对话与猜数游戏:主要介绍Python的基本数据类型和语法基础。

第3章,一切皆可运算:主要介绍序列类型、字符串的序列特征、成员运算符in,以及for循环。

第4章,列表,还是列表:主要介绍计数函数range()、随机数与计算机模拟、列表类型、如何遍历一个列表、如何对列表排序、列表的运算符,以及元组类型。

第5章,程序也会搭积木:主要介绍如何使用turtle绘图、如何定义函数与调用函数,以及递归函数和匿名函数。

第6章,字典是个宝:主要介绍如何创建字典和遍历字典、如何解决字典排序问题、文件的打开与读写、pickle模块、异常处理、英文文本的词频统计、用字典实现加密算法、如何实现爬虫、自制英汉字典,以及集合类型。

学习就像挖金矿,或许一开始毫无头绪,但转个角度、换换工具,时间久了总会找到一些思路。成功就是你比别人多走了一段路,或许恰恰是那一小步。

好奇心

怀着一颗好奇心去学习,才能不断地发现问题、解决问题,获得满足感。没有什么是一蹴而就的,保持好奇心,让自己变成一个丰富的人。

勤实战

把每一个案例都当作一段旅行,而不是目的地。在学习过程中亲自敲下这些代码,多做一些练习,更好地体会Python语言的本质,在错误中不断成长,越挫越勇,相信你终会有所建树。

比较学习

比较学习是一种非常好用的方法,通过多角度对比,知识点会更清晰,或许你会恍然大悟。如何运用Python的各种数据类型,需要多观察、多对比。

洞察未来

要学习IT技术,建议孩子们多去看一看科幻电影,因为这些科幻内容正在一步步地被实现。有条件的,建议去看看国际高新技术成果交易会和世界人工智能大会等高水平的展会。我们的国家还有很多技术处于落后状态,即便不再落后,也需要技术的不断更新来保持优势。

本书知识体系完整,详细介绍了Python的基本数据类型和组合数据类型,共收集了14个故事与话题,设计了110个实际案例、44个课后习题。

(1)趣味故事打开编程大门。从有趣的故事引入编程,例如伊莉莎程序、凯撒加密法、韩信点兵等,为读者带来阅读乐趣,在阅读中不知不觉地学到知识,体会编程的本质。

(2)实例丰富,简单有趣。本书包含大量案例展示,例如猜数游戏、绘制花朵、计算机造句等。通过案例展示语法,再分析讲解。从简单到复杂,使复杂难懂的问题变得简单有趣,让读者最大程度地获得启发,锻炼分析问题和解决问题的能力。

(3)深入浅出,透析本质。本书对主要案例采用IPO(Input,Process,Output)方法来描述程序的运算模式,既简洁易懂,又能抓住本质。本书对较复杂的案例进行算法分析,分步解题,例如凯撒加密法、换位加密法、英文小说的词频统计,以及加密字典器。

(4)动手演练,循序渐进。每章节后有动手试一试和习题,及时检验读者对所学知识的掌握情况。从小问题出发,逐步解决大型复杂性问题,使读者在实践中体会,增强自信,从而提高独立思考和动手的能力。

(5)重点突出,关注实用。Python拥有大量的模块与函数,但是面面俱到并不是好的教学方式。本书从基础教学的角度出发,侧重讲解实用性高的知识点,省略了不常用的知识点,关注能力培养。

(6)代码资源。异步社区中提供本书所有范例程序的源代码和操作视频,读者可以自由地修改编译源代码,满足自学的需要。

(7)课件资源。异步社区中提供本书教学所需的PPT资源,以满足学校教学和读者自学的需要。

写书是一项极其琐碎、繁重的工作,尽管我已经竭力使本书和网络支持接近完美,但仍然可能存在很多漏洞和瑕疵。欢迎读者提供关于本书的反馈意见,这有利于我们改进和提高,以帮助更多的读者。

如果你对本书有任何评论和建议,可以致信作者邮箱zhangxia@szpt.edu.cn,我将不胜感激。

感谢我的家人和朋友们在本书编写过程中提供的大力支持!

远在大洋彼岸求学的儿子给我提供了参考课件,我的同事们提供了许多宝贵意见。

感谢协助绘制插画的学生江鑫,感谢协助校对书稿的深圳职业技术学院17软件4班和17软件6班的学生。

感恩我遇到的众多良师益友!


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

本书提供如下资源:

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

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

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

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

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

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

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

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

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

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

异步社区

微信服务号


学习计算机编程是一种培养学习能力的有力方式,学习编程的孩子会把这种能力也运用到其他知识的学习中。计算机编程不是一种单独的能力,它不仅融合了各个学科发展的前进方向,也是各个学科研究的持续动力。对培养数理逻辑、探究精神和创造性思维都是大有裨益的。

本书将会完整地呈现Python语言程序设计基础。作者在此谨将此书献给每一个充满童真和好奇的孩子以及他们的父母,希望他们能够通过本书了解编程,体会到计算机编程的无穷魅力。

我的孩子很喜欢一款游戏《植物大战僵尸》,一个看似简单,但其实极富策略性的小游戏,集成了战略、防御和卡片收集等要素。用户通过武装多种植物,切换不同的功能,快速有效地把敌人阻挡在入侵的道路上。不同的敌人、不同的玩法构成不同的游戏模式,加之黑夜、浓雾、泳池等障碍增加了游戏的难度。

什么是编程?编程就是把算法和策略放入计算机的程序中,让计算机为人类解决一个又一个的问题。

不只是计算机,电器设备也一样能接受编程。洗衣机里面有多种洗衣控制程序,跑步机里面有速度的控制程序,空调里面有温度、风力的控制程序……

人类将解决问题的思路、方法和手段通过计算机能够理解的形式“告诉”计算机,使计算机能够根据人的指令一步一步地工作,完成某项特定的任务。

计算机程序是由多个指令组成的,一旦给计算机“下达”了正确的指令,它们就能做很多让人惊奇的事情。

计算机的内部使用二进制,绝大多数人不擅长使用这种语言,所以人们发明了编程语言。利用编程语言,我们可以先用一种自己能理解的方式写程序,然后通过计算机把程序编译成二进制文件供计算机使用,编译后的二进制文件就称为软件(software)。

软件其实就是计算机运行的程序,例如Word和Excel等办公软件。软件也能运行在与你的计算机相连的Web服务器上,用户使用网页浏览器访问一个Web服务器,远程的Web服务器根据用户的需要传回各种信息(如新闻、天气和电视剧等)。

计算机的编程语言有很多种,有接近计算机底层的机器语言和汇编语言,还有接近人类母语的高级程序设计语言。Python、Java、C和C++语言都是高级程序设计语言。

高级程序设计语言有很多,孩子们学什么语言好呢?本书作者推荐选择Python语言。Python程序更易读、易编写,也更易理解,而且Python有许多高质量的库,包括科学计算库和人工智能库等。

计算机技术发展主要围绕计算机的功能性和可编程性展开。一方面,计算机硬件所依赖的集成电路规模以指数方式增长,运行速度也以接近几何级数快速增加,能支撑的功能也不断强大。另一方面,计算机程序设计语言经历了从机器语言、汇编语言到高级语言的发展过程,逐步朝着更接近自然语言的方向发展。

2008年,以开源移动操作系统安卓(Android)的发布为起点,一批新的计算概念和技术几乎同时被提出,并显著推动了计算技术的升级换代。这些概念包括移动互联网、云计算、大数据、物联网等。这些概念的提出反映了计算平台和应用的多样性,也带来了更复杂的安全问题。

虽然概念很多,但没有以哪个概念为主来引领技术发展,这说明计算机的发展已经进入了复杂信息系统阶段,人类将会逐渐认识到计算机系统的复杂性会到达人类所能掌控的边界。

随着深度学习、开源硬件、智能机器人、量子计算等技术的发展,未来某个时期将会出现人工智能主导的技术阶段,计算机将结合智能技术,展示更加友好的交互方式,并提供更好的用户体验。届时,计算机或许没有独立的载体,而是通过网络、数据和机器整合一切可用资源,逐步接管人类所有的非创造性工作,计算机将进入一个未知的新阶段。

面对复杂的功能性和紧迫的迭代周期,计算机需要更高抽象级别的程序设计语言来表达可编程性,Python语言已经成为这个新阶段的主流编程语言。

Python语言是少有的一种可以称得上既简单又功能强大的编程语言。Python编程的重点是解决问题,而不是语法与结构,非常适合完全没有编程经验的人学习。无论你是想进入数据分析、人工智能、网站开发等专业领域,还是仅仅希望掌握一门编程语言,都可以从Python开始。

现在许多领域都开始用Python语言,例如,国际空间站的宇航员使用Python编程,电影《星球大战》的制片公司使用Python自动化电影的制作过程,游戏工作室Activision用Python来构建游戏和数据分析。Python的应用领域还有很多……

Python的标志是一对蟒蛇,如图1-1所示。本书将完整地呈现Python语言程序设计基础。学习用Python编程可以让你有一个很好的起点,有了这个基础,将来在学习其他编程语言时,你会更容易理解其中的概念。

图1-1 Python的标志是一对蟒蛇

Python的创始人为Guido van Rossum。1982年,他从荷兰阿姆斯特丹大学获得了数学和计算机硕士学位。1989年圣诞节期间,在阿姆斯特丹的Guido为了打发时间,决心开发一个新的脚本解释程序。

选中Python(蟒蛇)作为编程语言的名字,是因为他喜爱的一个电视节目中有Python这个单词。1991年第一个Python解释器诞生,它是用C语言实现的。

Python语言是一种简单易学、功能强大的编程语言,它有高效率的多维数据结构,能够简单而有效地实现面向对象编程。Python有简洁的语法和对动态输入的支持,其本质上是解释性语言,在大多数平台上都是一个理想的脚本语言,适用于快速的应用程序开发。

Python的应用领域多,实用且强大,下面我们列举几个目前流行的领域。

1.科学计算与数据分析

随着NumPy等众多程序库的开发和完善,Python越来越适合进行科学计算和数据分析。它不仅支持各种数学运算,还可以绘制高质量的二维和三维图像。

2.网络爬虫

有了Python,利用几行代码就可以编写一个爬虫程序。爬虫程序的真正作用是从网络获取有用的数据或信息,可以节省大量的人工和时间成本。能够编写网络爬虫的编程语言有不少,但Python绝对是其中的主流选择之一。

3.Web开发

尽管目前PHP依然是很多程序员进行Web开发的首选语言,但Python的上升势头更劲。随着Python的Web开发框架逐渐成熟,程序员可以快速地开发功能强大的Web应用。

4.人工智能

目前最热门的领域之一就是人工智能。Python在人工智能领域内的机器学习、神经网络和深度学习等方面都是主流的编程语言,得到了广泛的支持和应用。很多流行的神经网络框架,如Facebook的PyTorch和Google的TensorFlow,都使用了Python语言。

5.自动化运维

这几乎是Python应用的自留地,Python已成为运维工程师首选的编程语言。在很多操作系统中,Python是标准的系统组件。大多数Linux和苹果macOS系统都集成了Python,可以在终端下直接运行Python。Python标准库包含了多个调用操作系统功能的库。

6.云计算

Python的强大之处在于模块化和灵活性,而构建云计算平台IaaS服务的OpenStack就是使用Python的。云计算的其他服务也都是在IaaS服务之上的。

7.网络编程

Python提供了丰富的模块支持网络编程,可以方便快速地开发分布式应用程序。

8.游戏开发

很多游戏使用C++语言编写图形显示等高性能模块,而使用Python或Lua语言编写游戏的逻辑。Python的PyGame库也可用于直接开发一些简单游戏。

本节你将学习如何安装Python环境、运行Python程序。

Python是一种跨平台的编程语言,能够运行在所有主流的操作系统中。只要计算机上安装了Python软件,就能运行Python程序。

安装Python环境非常容易,有Windows、macOS和Linux版本,后两种操作系统都默认安装了Python。Windows操作系统没有默认安装Python,用户需要下载并安装它。

本书所讲解的内容都是基于Windows版本的Python。

首先,检查计算机上是否安装了Python。打开“开始”菜单,输入“cmd”并按回车键打开一个命令终端窗口。在该终端窗口中输入“Python”并按回车键,如果出现了 图1-2所示的Python提示符“>>>”,就说明计算机中安装了Python。

图1-2 Python解释器

下面就来搭建Python开发环境。

第1步:访问Python官网,如图1-3所示。网站时常会更新版面,但是下载提示总是很醒目,用户完全不用担心找不到Python的下载链接。

图1-3 Python官网

第2步:单击“Downloads” →“Windows”,选择“Windows x86-64 executable installer”进行下载,如图1-4所示。

图1-4 Python下载页面

第3步:下载完Python之后,双击进行安装,在弹出的图1-5所示的界面中勾选“Add Python 3.8 to PATH”,然后单击“Install Now”。

图1-5 Python安装选项

第4步:你也可以单击“Customize installation”自定义安装路径,比如可以选择改变路径为“C:\ Python3.8”,如图1-6所示。

图1-6 自定义Python安装路径

第5步:单击“Install”按钮,开始安装Python,如图1-7所示。

图1-7 Python安装过程

第6步:等待一段时间,就会看到提示Python安装完成的界面,此时单击“Close”,如图1-8所示。

图1-8 Python安装成功

第7步:最后在计算机上测试Python是否安装成功,如图1-9所示,打开“开始”菜单,单击“Python 3.8”文件夹,选择其中的第二项“Python 3.8(64-bit)”。

图1-9 选择“Python 3.8(64-bit)”

如果出现图1-10所示的Python提示符“>>>”,就说明Python安装成功了。

图1-10 看到“>>>”,说明安装成功

Python自带了一个在终端窗口中运行的解释器,让用户能运行Python代码。

在刚开始接触一门新的编程语言时,如果能使用它在屏幕上显示消息“Hello world!”,那么说明你已经打开了学习这门编程语言的大门。

要使用Python输出“Hello world!”,只需在交互式命令行输入下面这行代码:

>>>print("Hello world!")

如图1-10所示,Python会在下一行立即输出:

Hello world!

虽然这个程序简单,但是确有其用途,因为如果它能够正确运行,就说明你的编程环境已经准备好了。

带有提示符“>>>”的解释器,也称为Python交互模式。

在交互式命令行编写程序的好处是很快就能得到结果,不足之处是无法保存,若下次还想运行该程序,那么需要重新编写。

若要终止Python解释器运行,那么可以在命令行输入“exit()”,然后按回车键,或者可以直接单击窗口的关闭图标。

在实际开发时,需要使用代码编辑器(IDLE)来编写程序,编写完成后可以保存为一个文件,这样该程序就可以反复运行了。Python文件的扩展名为“.py”。

下面介绍如何使用Python自带的代码编辑器来编写程序代码。

(1)首先,在硬盘上新建一个目录,如D:\LearnPython,后面做的练习题会保存到这个目录中。

(2)打开“开始”菜单(Windows操作系统),依次选择“Python 3.8”→“IDLE(Python 3.8 64-bit)”,如图1-9所示。

(3)接着,在弹出的图1-11所示的界面中依次选择“File”→“New File”,创建一个新文件,用于编写程序。

图1-11 创建新文件

(4)若要保存文件,可依次选择“File”→“Save As...”,如图1-12所示。

图1-12 “Save As…”选项

(5)然后在弹出的图1-13所示的“另存为”对话框中,将文件保存到D:\LearnPython目录下,同时给文件命名,如abc.py。

图1-13 “另存为”对话框

(6)然后就可以编写程序了。当程序编写完成时,需要再次保存文件,依次选择菜单“File”→“Save”保存文件。

(7)若要运行该程序,那么可以依次选择“Run”→“Run Module”,或按<F5>键,即可运行程序,如图1-14所示。

图1-14 运行Python文件的菜单选项

(8)程序会运行在自动弹出的Python交互框里,如图1-15所示。

图1-15 Python程序运行结果

在代码编辑器中编写的代码为什么会呈现不同的颜色?

为了更好地帮助用户理解代码,代码编辑器用不同的颜色显示文本,便于用户区分代码的不同部分。在Python语言中,代码就是下达给计算机的指令。

代码编辑器是一个重要的工具,除了这个Python自带的小型编辑器,本章还会推荐几个著名的集成开发工具,它们在编辑、运行和调试程序等方面更胜一筹。

现在你已经看到了第一个Python程序abc.py,继续写下去,然后运行,如图1-16所示。

在编辑器窗口选择“Run”→“Run Module”,或按<F5>键运行程序,在Python Shell中看到运行结果。

下面是这个程序的代码:

实例abc.py

1    print("Hello world!")
2    print("这是我的第一个Python程序")

图1-16 程序abc.py的运行结果

程序经常会用到时间,下面通过一个实例来查看计算机的系统日期和时间,并输出到屏幕上。

Python处理日期和时间的标准库是time库和datetime库。

下面以time库为例,介绍查看当前时间的方法。

实例PrintTime.py

1    import time
2    today=time.localtime()  #获取系统时间
3    print("当前时间:",today)

程序中import语句的作用是导入time库。

什么是库?库又称为模块,可以简单理解为封装了很多功能的函数库或类库。我们要先将库导入程序,库中的函数或类才能被程序调用。

导入语法:

import<模块名>

导入time模块:

import time

函数的调用形式是:

<模块名>.<函数名>(<参数>)

下面调用两个time库的函数。

(1)time.localtime()函数:作用是获取系统时间。

(2)time.strftime()函数:作用是格式化时间输出。如格式为“2019-03-21”或“2019年03月21日”。

我们来编写一段查看日期和时间的程序。

实例e1.1 PrintTime.py

1    import time
2    today=time.localtime()  #获取系统时间
3    print("当前时间:",today)
4    print("年份:",today.tm_year)
5    print("时点:",today.tm_hour)
6    print("日期:"+time.strftime("%Y.%m.%d",today))
7    print("日期:",time.strftime("%Y-%m-%d",today))
8    strx=time.strftime('%Y{}%m{}%d{}',today).format('年','月','日')
9    print(strx)

运行结果:

当前时间:time.struct_time(tm_year=2020, tm_mon=1, tm_mday=1, tm_hour=9, tm_min=34, tm_sec=48, tm_wday=2, tm_yday=1, tm_isdst=0)
年份:2020
时点:9
日期:2020.01.01
日期:2020-01-01
2020年01月01日

如果程序中出现错误无法运行,该怎么办呢?

程序一般会发生两种类型的错误:语法错误和运行时错误。

1.语法错误

代码编辑器在尝试运行程序前会对程序做一些检查。如果代码编辑器发现一个错误,那么往往是语法错误(Syntax Error)。程序的语法是指一种程序设计语言的拼写和文法规则,出现语法错误意味着你输入的某些内容不是正确的代码。

下面给出一个例子:

实例abcx.py

1    print("Hello world!")
2    print(这是我的第一个Python程序)

第2行的输出文字没有加引号。

当运行这个程序时,执行窗口会提示红色字体显示的消息,表明程序第2行有一个错误——变量名错误(Name Error),如图1-17所示。这是因为第2行文字没有加引号,Python被迫将这串文字理解为一个变量名,而不是期待的字符串,错误信息是变量没有定义。

图1-17 程序第2行需要输出的文字没有加引号,造成语法错误

2.运行时错误

运行时错误(Runtime Error)是指运行程序之前无法检测出来的错误,只在程序运行时才会发现。

实例abc.py

1    print("Hello world!")
2    print("这是我的第一个Python程序")
3    x=5
4    y=0
5    print(x/y)

如果保存这个程序并运行,那么前两行代码的内容会正确输出,但接下来会得到一个错误消息:在第5行,出现了除数为零的错误(ZeroDivisionError),如图1-18 所示。

图1-18 除数为0造成的运行时错误

以“Traceback”开头的信息表示错误消息从这里开始,接着会显示文件名,以及出错的代码行号和语句内容,最后一部分消息是Python认为存在的问题。

看到错误消息不用过分担心,因为它们能帮助我们找出程序哪里出现了问题,以便改正错误。如果程序确实出了问题,那么能看到确切的错误信息是一件好事情。

对于编程来说,代码编辑器是一个重要的工具。除了Python自带的代码编辑器,下面介绍一些目前流行的Python集成开发环境(Integration Development Environment,IDE)。

IDE以代码编辑器为核心,还包含一系列周边组件和附属功能。一个优秀的IDE在普通文本编辑基础之上还能提供各种快捷编辑功能,让程序员尽可能快捷、舒适、清晰地输入和修改代码。另外,语法着色、错误提示、代码折叠、代码自动补充、代码定位、重构、调试器等,也都是IDE提供的重要功能。

1.Python Tutor

Python Tutor是一个免费在线教育工具,可以帮助用户攻克编程过程中的基础障碍,使用户理解每一行源代码的运行过程。利用这个工具,用户可以直接在网页上编写代码,逐步可视化地运行程序,加深对编程知识的理解。

2.IPython

IPython是一个交互式Shell,支持变量自动补全、自动缩进,支持BashShell命令,内置了许多实用功能和函数,同时它也是科学计算和交互可视化的集成平台。

3.Jupyter Notebook

Jupyter Notebook是一个开源Web应用程序,允许用户创建和共享代码和文档。它就像一个草稿本,能将文本注释、数学方程、代码和可视化内容全部组合到一个易于共享的文档中,以网页的方式展示。

4.Anaconda

Anaconda是一个数据处理和科学计算平台,内置了许多非常有用的第三方库,如Numpy、Pandas、Matplotlib等。Anoconda附带了大量常用的数据科学库,它们是数据分析的标配。Anaconda有免费版和付费版,付费产品有Anaconda Enterprise(企业版)和Training(培训与认证)等。

5.PyCharm

PyCharm带有一整套提高编程效率的工具,性能非常出众,能够自动提示类和函数、自动代码格式化,提供了项目管理、代码跳转、代码重构等功能。程序员可以在这个开发环境中完成需要切换多个终端才能完成的事情。进入PyCharm官网下载对应的版本,专业版是付费的,社区版是免费的,如图1-19所示。

很多人会选择Anaconda与PyCharm结合的模式构建一个集成开发环境,因为Anaconda的数据科学库很丰富,PyCharm的编辑与运行环境很棒。如果安装Anaconda,则不需要特地去安装Python,因为Anaconda已经自带了Python软件。有兴趣的读者可以尝试搭建集成开发环境,这样学习效率会更高,而且能接触更多领域的编程。附录C展示了科学库数据可视化工具matplotlib的绘图案例。

图1-19 目前流行的集成开发软件PyCharm

本书案例在基础开发环境Python 3.8.1下完成。

获得Python在线帮助文档有多种途径,这里介绍两种。

(1)依次单击“开始”菜单(Windows操作系统)→“Python 3.8”→“Python 3.8 Manuals(64-bit)”或“Python 3.8 Module Docs”,Manuals提供的是用户手册,Module docs提供的是本机已安装的各种模块(Module)信息。

(2)访问Python官网,单击首页的“Documentation”或“Docs”选项,即可查看Python在线文档。该文档的内容包括Python语言指南(Language Reference)和Python标准库文档(Library Reference)。

 

动手试一试

1-1在交互模式“>>>”中使用Python计算一周有多少分钟。

1-2编写一个简短的程序,使用print函数输出你的名字、出生日期,还有你喜欢的颜色。保存这个程序,然后运行。如果程序没有像你期望的那样运行或者给出了错误消息,试着改正错误,让它能够正确运行。

 

本章你学到了以下内容:什么是编程、Python语言的诞生与时代背景、获得Python安装软件、Python的安装过程、什么是交互模式、使用代码编辑器、键入简单的程序、运行程序、查看程序的错误及位置、了解集成开发环境,以及获得Python在线帮助文档。


相关图书

中学生C++创意编程
中学生C++创意编程
青少年编程魔法课堂 Python图形化创意编程
青少年编程魔法课堂 Python图形化创意编程
写给 青少年的人工智能 实践
写给 青少年的人工智能 实践
青少年编程魔法课堂 C++图形化创意编程
青少年编程魔法课堂 C++图形化创意编程
青少年Python趣味编程
青少年Python趣味编程
趣味掌控板编程
趣味掌控板编程

相关文章

相关课程