Python程序设计基础(txt+pdf+epub+mobi电子书下载)


发布时间:2020-07-01 10:01:04

点击下载

作者:李东方

出版社:电子工业出版社

格式: AZW3, DOCX, EPUB, MOBI, PDF, TXT

Python程序设计基础

Python程序设计基础试读:

前言

程序设计基础是高校计算机基础教学的核心课程。通常选择一门高级程序设计语言作为教学语言,并以此贯彻程序设计的基本思想方法,培养学生的计算思维,为在更加信息化的将来所从事的专业活动,打下理解需求、求解问题、程序实现的扎实基础。

在上海市教育委员会高教处、上海市教育考试院、上海市高等学校计算机等级考试委员会和上海市计算机基础教育协会的组织领导下,上海各高校计算机基础教育工作者团结协作,经过长期的探索和实践,确立了“夯实基础、面向环境、培养创新”的计算机基础教育培养目标,构建了包括分类分层次的课程体系、自主学习环境、计算机等级考试、创新能力培养等内容的多平台综合教育环境,取得了丰硕的成果。2016年,上海市高校率先增考了二级Python程序设计科目。本书是“上海市高等学校计算机等级考试(二级)”Python程序设计考试科目的参考教材。

Python语言是一种解释运行、面向对象、扩展性强的程序设计语言,是大学生学习计算机编程能力、理解计算机解决问题的方法的有效工具。学生通过对该语言程序设计的学习,应能掌握Python语言的基本语法和基本编程方法,理解程序设计中的计算思维,并能上机调试运行解决简单的实际问题。

本书坚持在上海市高等学校计算机等级考试Python程序设计考试大纲的指导框架下,以初学者为起点,由浅入深、循序渐进地讲述Python程序设计的基本概念和基本方法。本书由第二军医大学、复旦大学、华东理工大学、华东师范大学、东华大学、华东政法大学等高校常年工作在计算机基础教学第一线、具有丰富教学经验的高校教师集体编写,力图简明实用、条理分明。通过实例讲解,不拘泥于语法细节,避免曲折烦琐,也力图体现Python语言追求优雅、明确、简单的风格。

全书共12章,内容包括:Python语言及其编程环境概述、基本语法、基本流程控制、元组列表字典等特征数据类型及操作、文件、函数、面向对象的程序设计、tkinter图形化界面设计、图形绘制、正则表达式的应用、数据库操作和基于第三方库的应用举例。每章均配有教学目标和习题,书后附有上海市高等学校计算机等级考试Python程序设计考试大纲和样卷。全书采用Python 3.x版本,所有实例代码均经调试通过。本书提供配套电子课件,登录华信教育资源网(www.hxedu.com.cn)注册后免费下载。

本教材由李东方(第1、6、8、10、12章)、张向东(第2章)、文欣秀(第3章)、常姗(第4章)、吴萍(第5章)、刘洋(第7章)、张乐平(第9章)、郑奋(第11章)编写,文欣秀为各章编配了习题,最后由李东方统稿。在编写过程中还得到了同济大学、上海大学和上海对外经贸大学等高校教师的指导和支持。本书部分实例应用了上海市高校计算机等级考试既往试题素材和部分网上佚名素材,在此一并表示诚挚感谢。

由于时间仓促和水平有限,书中难免有不妥之处,竭诚欢迎读者提出宝贵意见。作者联系邮箱:dfli@smmu.edu.cn。作 者教学建议

建议学时数为48~64学时,其中16~32学时为实验课。建议以机房“现场授课”方式教学,边讲边练,提高教学效率。

教学软件环境:Python 3.4及以上,可选装PyScripter,Pycharm,Wing IDE或Notepad++等编程调试环境。第1章 Python语言及其编程环境本章教学目标:● 了解Python语言的特点。● 学会Python编程环境的安装。● 逐步熟悉使用一种第三方Python编辑器。1.1 Python语言概述

Python是一种面向对象、解释型计算机程序设计语言,由Guido van Rossum于1989年发明,于1991年公开了第一个发行版本。

Python语法简洁、清晰,具有丰富和强大的类库,能够把用其他语言(如C/C++)制作的各种模块很轻松地联结在一起,又被昵称为胶水语言。Python是纯粹的自由软件,源代码和解释器CPython均遵循GPL(General Public License)协议。由于Python语言的简洁、优雅、开发效率高,既能快速生成程序的原型,又能方便地将Python程序封装成可调用的扩展类库,程序无须修改就能在Windows,Linux,UNIX,Mac OS等操作系统上跨平台使用,因此,它常被用于网站开发、网络编程、图形处理、黑客攻防等。根据2016年8月TIOBE编程语言排行榜(见图1-1),Python已迅速上升为第五大广泛应用的编程语言。图1-1 2016年8月TIOBE编程语言排行榜

Python语言崇尚优雅、明确、简单。在其行命令编程环境中输入“import this”,就会呈现出Tim Peters编写的、被业界称为“Python之禅”的编程格言,如图1-2所示,这些格言逐渐成为Python程序开发者追求“More Pythonic(更具有Python风格)”的指导思想。图1-2 Python之禅

Python之禅的中文译意是:

● 优美胜于丑陋,显式优于隐式。

● 简洁胜于复合,复合胜于复杂。

● 扁平胜于嵌套,稀疏胜于密集。

● 可读性很重要。

● 虽然语言的实用性胜于其纯粹性,但也不可因此而打破规则。

● 不要以沉默对待错误,除非明显需要忽略错误。

● 面对模棱两可,拒绝猜测的诱惑。

● 应该有一种(最好只有这一种)显而易见的解决方案。

● 解决方案最初可能并不是显而易见的,除非你就是那个荷兰人(指Guido)。

● 马上做胜于永远不做,但盲目动手做有时还不如不做。

● 如果某个方案难以阐释,那么这通常是一个糟糕的方案。

● 如果某个方案容易解释,那么它可能是一个好主意。

● 命名空间是一个很棒的主意—我们应该多做尝试。1.2 Python的安装

最新版本的安装程序可从www.python.org网站免费下载,如图1-3所示。下载前应考虑如下问题。

● 支持操作系统 Python支持Windows,Linux,Mac OS等不同操作系统,应选择对应的安装程序。

● 操作系统字长 根据操作系统的32位或64位字长选择对应的安装程序,以获得最佳运行环境。

● Python的版本 选择3.x版还是2.7版。3.x版本与2.x版本并不完全兼容,大批用Python 2.x版本编写的库函数无法在3.x下使用。虽然2.x版已经得到多年广泛应用,较为成熟,网上有大量类库资源,但Python 2.x版本到2.7版后不再升级,3.x以后的版本升级将是Python语言的未来,且至2015年年初,绝大多数Python语言编写的库函数都可以稳定高效地在Python 3.x版本下运行。本教材使用3.x版本。图1-3 官网下载页面

以在Windows操作系统为例,双击python-3.x.x.exe文件,即可按向导提示进行安装,如图1-4所示。图1-4 Python安装向导

为使以后操作系统中任意路径上的Python程序都能正确找到安装路径,可在安装时选择“Add Python 3.5 to PATH”复选框(图1-4下方),也可通过操作系统的环境变量设置添加Python安装路径,步骤为:右击桌面“计算机”图标,从快捷菜单中选择“属性”,单击“高级系统设置”→“高级”→“环境变量”,在“系统变量”框中,选择“Path”项,单击“编辑”,在打开的对话框中添加半角分号和安装路径(例如“;c:\python35”),如图1-5所示。图1-5 向系统环境变量添加Python安装路径1.3 Python语言程序设计步骤

Python自带的运行环境IDLE(GUI Shell),如图1-6(a)所示,其行命令运行环境如图1-6(b)所示。

在IDLE运行环境中,使用“File”→“New File”菜单命令,可呼出程序编辑器,该编辑器除文本编辑功能外,还包含关键字颜色区分、简单的智能提示、自动缩进等辅助编辑功能(见图1-7)。图1-6 Python的运行环境图1-7 IDLE的程序编辑器

Python的源程序以.py为扩展名。当运行.py源程序时,系统会自动生成一个对应的.pyc字节编译文件,用于跨平台运行和提高运行速度。另外,还有一种扩展名为.pyo的文件,是Python编译优化后的字节编译文件。

Python使用缩进来表示代码块,习惯上缩进4个半角空格,同一个代码块的语句必须包含相同的缩进空格数,不建议随意变化缩进空格数或使用制表位键。

Python通常是一行写完一条语句,但如果语句很长,可以使用反斜杠“\”来实现多行语句。

Python可以在同一行中放置多条语句,语句之间使用分号“;”分割,但为可读起见,不建议在同一行中放置多条语句。

Python中单行注释以“#”开头。在程序调试时临时需要不执行某些行时,建议在不执行的行前加“#”,可避免大量删改。1.4 常用的Python第三方编辑器

Python的源程序与其他高级语言一样,是纯文本文件,可以用操作系统自带的记事本打开和编辑(见图1-8)。图1-8 用记事本编写Python程序

值得注意的是,记事本默认保存为ANSI编码的.txt文件(关于编码,详见第5章),可使用“另存为”菜单命令,在弹出的保存对话框中选择保存类型为“所有文件(*.*)”,并手工添加文件扩展名.py。在3.x版的Python程序中,若包含中文等非英文字符,也可直接选择UTF-8编码方式保存(见图1-9)。图1-9 Python程序的保存类型和编码

如果以ANSI编码的Python程序中含有中文等非英文字符,在打开时可能出现如图1-10所示的编码选择对话框,让用户确认以何种编码方式读取。其中,cp936是操作系统默认的中文简体扩展字符集编码(即GBK)。为避免在运行程序前弹出该对话框,可在程序最前面添加编码注释“#coding:GBK”。也可使用与ISO-8859-1完全兼容、几乎可以表示世界上所有字符的字符编码UTF-8,在程序最前面添加编码注释“#coding:UTF-8”。网上资源也有一些个性化的编码注释表达方式,如“_*_coding=utf-8_*_”等,Python程序都能兼容识别。图1-10 编码选择对话框

Python程序员通常选用第三方集成开发环境(IDE,Integrated Development Environment)进行程序设计。常用的IDE有Notepad++,PyScripter,PyCharm,Eclipse with PyDev,Komodo,Wing IDE等,它们通常具有一些自动代码完成、参数提示、代码错误检查等功能。

如图1-11所示为Windows操作系统下的免费文本编辑器Notepad++,支持包括Python语言在内的许多种计算机程序设计语言,有语法高亮显示、语法折叠功能,并且支持扩充基本功能的外挂。图1-11 Notepad++编辑器

如图1-12所示为开源的Python语言集成开发环境PyScripter,可从https://github.com/ pyscripter/pyscripter免费下载。其具有语法高亮显示、语法自动补全、语法检查、断点调试等功能,还可以编辑JavaScript,PHP,HTML,XML等类型的文件。

如图1-13所示的PyCharm是JetBrains出品的专业IDE,分为专业版(Python IDE for professional developers)和教育版(PyCharm Edu,professional tool to learn programming with Python),教育版可从http://www.jetbrains.com/pycharm免费下载。图1-12 PyScripter集成开发环境图1-13 PyCharm集成开发环境

PyCharm是一套Python语言开发的高效率工具,除具有调试、语法高亮显示、Project管理、代码跳转、智能提示、自动完成、单元测试、版本控制等一般功能外,还提供了支持Django框架下的专业Web开发等高级功能。尤其是可以通过快捷键映射,可兼容常见主流IDE(如Eclipse,Visual Studio,IntelliJ IDEA,Emacs,Mac OS等)的使用习惯(见图1-14),让其他语言程序员尽快适应编程环境。图1-14 PyCharm的快捷键映射设置习题1

1.下载并安装Python 3.x,检查系统变量Path中的安装路径,体验并编写一个简单的Python程序。

2.下载并安装一种第三方IDE,并逐渐熟悉使用。第2章 Python程序的基本语法本章教学目标:● 熟悉Python语言的基本语法。● 理解数字数据类型的特点及其操作方法。● 掌握字符串数据类型的特点及其操作方法。● 逐步熟悉Python的基本运算、表达式和优先级。

相比其他大多数程序设计语言,Python的语法更为简洁。本章我们来学习Python的基本语法。2.1 Python语言源程序的书写格式与基本规则2.1.1 Python语言源程序模块结构初识

一个Python程序可能由一个或多个模块组成。模块是程序的功能单元。Python模块的典型结构与布局如图2-1所示,假设该模块的名字为Universe。图2-1 Python模块的典型结构(1)模块文档

模块文档使用三引号注释的形式,简要介绍模块的功能及重要全局变量的含义。在本例中,用户可以用Universe.__doc__来访问这些内容,可获知该模块的功能信息。(2)模块导入

导入需要调用的其他模块。模块只能被导入一次,被导入模块中的函数代码并不会被自动执行,只能被当前模块主动(显式)调用。在本例中,导入了Python的内置模块。导入模块后,后续代码就可以使用(调用)这个模块中已定义的各种功能函数了。(3)变量定义

在这里定义的变量本模块中的所有函数都可直接使用(全局变量,将在第6章中详述)。初学者往往图方便而习惯在这里使用全局变量,但当程序较为复杂时,可能会降低程序的可读性且较为浪费存储资源。(4)类定义语句

所有类都需要在这里定义。当模块被导入时,class语句会被执行, 类就会被定义。在本例中,类的文档变量是UniverseClass.__doc__。(5)函数定义语句

此处定义的函数可以通过Universe.BigBang()在外部被访问到,当本模块被其他模块导入时def语句会被执行,其他模块可调用BigBang这个函数。该函数的文档变量是BigBang__doc__。(6)主程序

无论这个模块是被别的模块导入还是作为脚本直接执行,都会执行这部分代码。通常这里不会有太多功能性代码,而是根据执行的模式调用不同的函数。

本例中出现在模块最后的代码是常见的“定式”:检查__name__ 变量的值然后再执行相应的调用。分为两种情形:

● 在Python的集成开发环境IDLE中打开模块文件Universe.py,按功能键F5可以运行该模块。这时__name__ 变量的值为'__main__',因此执行函数BigBang,以实现“自动运行”。

● 如果该模块是被其他模块导入的,或者是在IDLE命令行提示符“>>>”后面被导入的,这时__name__变量的值为'Universe',if条件不成立,因此不做任何事情(不会自动执行函数BigBang)。函数BigBang只可在后续代码中被显示调用。2.1.2 基本词法单位、标识符/常量/运算符等构成规则与关键字

Python的基本词法单位包括:常量、变量、关键字、运算符、表达式、函数、语句、类等。

常量是指初始化(第一次赋予值)后就保持固定不变的值。例如:1,3.14,'Hello!',False,这4个分别是不同类型的常量。关于数据类型会在2.2节中详述。

在Python中没有命名常量,通常用一个不改变值的变量代替。例如:PI=3.14通常用于定义圆周率常量PI。

标识符用于标识不同的词法单位,通俗地讲就是名字。标识符可以作为变量、函数、类的名字。合法的标识符必须遵守以下规则:

● 由一串字符组成,字符可以是任意字母、数字、下画线、汉字,但这串字符中的开头字符不能是数字;

● 不能与关键字同名。关键字也称为“保留字”,是被语言保留起来具有特殊含义的词,不能再用于起名字。【例2-1】查看Python语言的所有关键字。

标识符中唯一能使用的标点符号只有下画线,不能含有其他标点符号(包括空格、括号、引号、逗号、斜线、反斜线、冒号、句号、问号等)。

例如,“x”,“var1”,“FirstName”,“stu_score”,“平均分2”等,都是合法的标识符;但是,“stu-score”,“First Name”,“2班平均分”都是不合法的标识符。

变量是指在运行过程中值可以被修改的量。变量的名称除必须符合标识符的构成规则外,要尽量遵循一些约定俗成的规范:

● 除了循环控制变量可以使用i或者x这样的简单名字外,其他变量最好使用有意义的名字,以提高程序的可读性。例如,表示平均分的变量应使用average_score或者avg_score,而不建议用as或者pjf。直接用汉字命名也是可以的,但限于输入烦琐和编程环境对汉字兼容等因素,习惯上很少使用。

● 用英文名字时,多个单词之间为表示区隔,可以用下画线来连接不同单词,或者把每个单词的首字母大写。

● 用于表示固定不变值的变量名称一般用全大写英文字母,例如:PI,MAX_SIZE。变量一般使用大小写混合的方式。

● 因为以下画线开头的变量在Python中有特殊含义,所以,自定义名称时,一般不用下画线作为开头字符。

此外,还要注意Python标识符是严格区分大小字母的。也就是说,Score和score会被认为是两个不同的名字。

运算符指示常量/变量之间进行何种运算。Python有丰富的运算符,例如:赋值、算术、比较、逻辑等,将在2.3节中详述。

表达式由常量、变量加运算符构成。一个表达式可能包含多次多种运算,与数学表达式在形式上很接近。例如:1+2,2*(x+y),0<=a<=10等。

函数是相对独立的功能单位,可以执行一定的任务。其形式上类似数学函数,例如:math.sin(math.pi/2)。可以使用Python内核提供的各种内置(built-in)函数,也可以使用标准模块(例如数学库math)中的函数,还可以自定义函数。

语句是由表达式、函数调用组成的。例如:x=1,c=math.sqrt(a*a+b*b),print('Hello world!')等。另外,各种控制结构也属于语句,例如:if语句、for语句。

类是同一类事物的抽象。我们处理的数据都可以看作数据对象。Python是面向对象的程序设计语言,它把一个事物的静态特征(属性)和动态行为(方法)封装在一个结构里,称之为对象。例如,“张三”这个学生对象有学号、姓名、专业等属性,也有选课、借阅图书等方法。类是相似对象的抽象,或者说是类型。例如,“张三”、“李四”都是Student类的对象,也可以说它们都是Student类型的。关于类和对象的更多知识,会在第7章中介绍。2.1.3 程序的书写格式与基本规则

Python的书写格式有严格的要求,不按照格式书写有可能导致程序不能正确运行,例如,缩进是必须按照代码块层次要求的。在《Google开源项目风格指南》中,还列出了一些常见的书写格式基本规则建议,虽然并不影响程序执行结果,但良好的编程风格会显著提升程序的可读性。

1.缩进

Python使用缩进来区分代码块的级别。Python语言中没有采用花括号或begin…end等来分隔代码块,而是使用冒号和代码缩进区分代码之间的层次。代码缩进是一种语法规则,错误的缩进可能导致代码的含义完全不同。例如:

执行结果没有任何输出。因为print(x)位于if代码块内,和x =x+1是同一个级别的,都没有被执行。

而下面这段的代码,最后一行缩进不同:

执行结果会输出0。因为print(x)位于if代码块外,和if语句是一个级别的,会被执行。

建议使用在缩进行代码前输入4个空格来表示代码缩进,不推荐其他数量的空格或使用制表符的方式来完成缩进。

部分Python编辑器(如IDLE,Notepad++,PyScripter,PyCharm等)能根据所输入的代码层次关系自动缩进代码,提高编码效率。

2.分号

Python允许在行尾加分号,但不建议加分号,也不要用分号将两条命令放在同一行中。建议每条命令单独一行。

3.长语句行

除非遇到长的导入模块语句或者注释里的URL,建议每行不宜超过80个字符。

对于超长语句,允许但不提倡使用反斜杠连接行,建议在需要的地方使用圆括号来连接行。

例如:

如果一个文本字符串在一行放不下,可以使用圆括号来实现隐式行连接:

在注释中,即使超过80字符,也要将长的URL或导入长的模块语句放在同一行中。

4.括号

不建议使用不必要的括号。除非用于实现行连接,否则不要在返回语句或条件语句中使用括号。例如:

5.空行

顶级定义之间空两行。例如,图2-1模块例子中,变量定义、类定义以及函数定义之间,可以空两行。

类内部的方法定义之间,类定义与第一个方法之间,建议空一行。

函数或方法中,如果有必要,可以空一行。

6.空格

对于赋值(=)、比较(= =, <, >, !=, <>, <=, >=, in, not in, is, is not)、布尔(and, or, not)等运算符,在运算符两边各加上一个空格,可以使代码更清晰。而对于算术运算符,可以按照自己的习惯决定,但建议运算符两侧保持一致。例如:

不建议在逗号、分号、冒号前面加空格,但建议在它们后面加空格(除了在行尾之外)。例如:

参数列表、索引或切片的左括号前不要加空格。例如:

当等号用于指示关键字参数或默认参数值时,不建议在其两侧使用空格。例如:

不建议用空格来垂直对齐多行间的标记,因为这会成为维护的负担(适用于:, #, =等)。例如:

7.注释

注释通常以“#”开始直到行尾结束。

行内注释是指和语句在同一行中的注释。行内注释应该以“#”和单个空格开始,应该至少用两个空格和前面的语句分开。

注释块通常后面跟着代码,且注释块应该与相关代码的缩进一致。注释块中每行以“#”和一个空格开始,注释块内段落以仅含单个“#”的行分割。注释块上下方最好各空一行。

8.文档字符串

文档字符串是Python语言独特的注释方式。文档字符串是包、模块、类或函数中的第一条语句。文档字符串可以通过对象的__doc__成员被自动提取。

我们书写文档字符串时,在其前、后使用三重双引号"""或三重单引号'''。

一个规范的文档字符串应该首先是一行概述,接着是一个空行,然后是文档字符串剩下的部分,并且应该与文档字符串的第一行的第一个引号对齐。【例2-2】建议的文档字符串示例。

文档字符串可以通过__doc__成员进行查看,也可以出现在help()函数的结果里:

文档字符串通常用于提供在线帮助信息。

试读结束[说明:试读内容隐藏了图片]

下载完整电子书


相关推荐

最新文章


© 2020 txtepub下载